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的生日是一模一样的题目。。。用的是递推算法,这回终于明白了
版权声明:本文为博主原创文章,未经博主允许不得转载。
本文为博主原创文章,未经博主允许不得转载。
浙公网安备 33010602011771号