【DFS】nyoj 325 zb的生日

来源:互联网 发布:淘宝定制付定金和尾款 编辑:程序博客网 时间:2024/05/21 08:58

http://acm.nyist.net/JudgeOnline/problem.php?pid=325

分析:某一个西瓜只能在A堆或者B堆


#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int NM=30;int a[NM],dif,n,sum;void DFS(int res,int k){if(k==n) return;  //每堆至少有一个西瓜,所以终止条件为'k==n'int t=sum-2*res;if(t<0) t=-t;if(t<dif) dif=t;DFS(res+a[k],k+1);DFS(res,k+1);}int main(){int i;while(~scanf("%d",&n)){sum=0;for(i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];}dif=0xfffffff;DFS(0,0);printf("%d\n",dif);}return 0;}        


原创粉丝点击