题目没读懂,刚开始都不知道他在说些什么。。。简而言之就是给出一堆绳子,练成一条;没两两段绳子练成环,串在一起,之后仍旧视为一串绳子,下次跟别的单独绳子连接的时候仍需对折;所以可以看出,越长的绳子在前面越对折越吃亏,所以应该进行排序,长的绳子放在后面进行连接;#include<iostream>#include<stdlib.h>#include<stdio.h>#include<vector>#include<set>#include<algorithm>using namespace std;using std::vector;using std::set;const int maxn=10100;int lope[maxn]={0};int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&lope[i]); } sort(lope,lope+n); int line=lope[0]; for(int i=1;i<n;i++){ line+=lope[i]; line/=2; } printf("%d",line); system(“pause”); return 0;}