使用方法:直接复制代码丢devC++运行 直接输入点数,空格隔开,输入0结束输入。
PS:最终结果为了避免重复输出进行了剪枝,每种牌数只输出一个结果
#includeusing namespace std; int input[100]; int i; int to; int bj; void work(int *a,int len) { int sum1=0; int sum2=0; for(int mid=1; mid sum2=0; sum1=0; for(int k=0; k sum1+=a[k]; } for(int k=mid; k sum2+=a[k]; } if(sum1==sum2) { cout<<"情况"< cout< cout< to=1; for(i=0; i<100; i++) { cin>>input[i]; if(input[i]==0) break; } for(int len=i; len>0; len--) { bj=0; work(input,len); while(next_permutation(input,input+i)) { if(bj==1) break; work(input,len); } } return 0; }



