uva 562 Dividing coins
2011-10-20 21:32
411 查看
题意:给你n个硬币,和n个硬币的面值。要求尽可能地平均分配成A,B两,输出A,B差的绝对值。
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int coin[105]; bool dp[51005]; int main() { int t; scanf("%d",&t); while(t--) { int n,imax=0,mid; scanf("%d",&n); memset(dp,0,sizeof(dp)); dp[0]=1; for(int i=0;i<n;i++) { scanf("%d",&coin[i]); imax+=coin[i]; } for(int i=0;i<n;i++) { for(int j=imax;j>=coin[i];j--) { if(dp[j-coin[i]]) dp[j]=1; } } for(int i=imax/2;i>=0;i--) { if(dp[i]) {mid=i;break;} } int ans=imax-2*mid; printf("%d\n",ans>0?ans:-ans); } return 0; }
相关文章推荐
- UVa 562 - Dividing coins
- UVA - 562 Dividing coins
- UVA 562 Dividing coins
- uva 562 - Dividing coins
- UVA 562 Dividing coins
- UVa 562 - Dividing coins
- UVA 562 - Dividing coins
- UVA 562 Dividing coins
- UVA 562 Dividing coins --01背包的变形
- UVA 562 Dividing coins
- UVA 562 - Dividing coins 动规 组合数
- UVA 562 Dividing coins 01背包
- UVa 562 - Dividing coins (0-1 变形)
- uva 562Uva 562 Dividing coins
- UVA 562 Dividing coins
- UVa 562 Dividing Coins
- UVa 562 - Dividing coins
- UVA - 562 Dividing coins
- UVA 562 Dividing coins【补充分析】
- UVa 562: Dividing Coins