NYOJ-456 邮票分你一半 AC 分类: NYOJ 2014-01-02 14:33 152人阅读 评论(0) 收藏
#include<stdio.h> #define max(x,y) x>y?x:y int main(){ int n,x,y; scanf("%d",&n); while(n--){ int num[1010]={0}; int sum[100010]={0}; int m,i,k,max=0; scanf("%d",&m); for(i=1;i<=m;i++){ scanf("%d",&num[i]); max+=num[i]; } k=max/2; for(x=1;x<=m;x++){ for(y=k;y>=num[x];y--){ sum[y]=max(sum[y],sum[y-num[x]]+num[x]); } } printf("%d\n",max-2*sum[k]); } }
哇哈,这题和zb的生日是一模一样的题目。。。用的是递推算法,这回终于明白了
版权声明:本文为博主原创文章,未经博主允许不得转载。
本文为博主原创文章,未经博主允许不得转载。