简单DP Stone Pile Ural_1005
来源:互联网 发布:刷微信阅读量软件 编辑:程序博客网 时间:2024/06/06 16:39
#include <stdio.h>
#include <string.h>
int xxx(int a)
{
return a>0?a:-a;
}
int dp[2000000];
int main()
{
int n;
int i;
int w[25];
int half;
int tot;
int min;
while(scanf("%d",&n)!=-1)
{
half=0;tot=0;
memset(dp,0,sizeof(dp));
for(i=0;i<n;i++)
{
scanf("%d",&w[i]);
tot+=w[i];
}
half=tot/2;
min=1000000;
for(i=0;i<n;i++)
for(int j=tot;j>=w[i];j--)
dp[j]=dp[j]>dp[j-w[i]]+w[i]?dp[j]:dp[j-w[i]]+w[i];
for(i=half;i>=0;i--)
if(xxx(tot-2*dp[i])<min)
min=xxx(tot-2*dp[i]);
printf("%d\n",min);
}
return 0;
}
#include <string.h>
int xxx(int a)
{
return a>0?a:-a;
}
int dp[2000000];
int main()
{
int n;
int i;
int w[25];
int half;
int tot;
int min;
while(scanf("%d",&n)!=-1)
{
half=0;tot=0;
memset(dp,0,sizeof(dp));
for(i=0;i<n;i++)
{
scanf("%d",&w[i]);
tot+=w[i];
}
half=tot/2;
min=1000000;
for(i=0;i<n;i++)
for(int j=tot;j>=w[i];j--)
dp[j]=dp[j]>dp[j-w[i]]+w[i]?dp[j]:dp[j-w[i]]+w[i];
for(i=half;i>=0;i--)
if(xxx(tot-2*dp[i])<min)
min=xxx(tot-2*dp[i]);
printf("%d\n",min);
}
return 0;
}
0 0
- 简单DP Stone Pile Ural_1005
- DFS水一发Stone Pile Ural_1005
- ural 1005. Stone Pile dp
- ural 1005. Stone Pile -01背包-dp
- Ural-1005. Stone Pile(简单01背包)
- ural 1005 stone pile
- ural 1005. Stone Pile
- 1005. Stone Pile
- 【枚举】Stone Pile
- ural 1005 Stone Pile
- timus 1005 stone pile
- URAL 1005 Stone Pile
- URAL 1005 Stone Pile
- URAL 1005 Stone Pile
- ural 1005 Stone Pile
- URAL 1005 Stone Pile
- URAL 1005 Stone Pile
- ural 1005 Stone Pile
- Struts2 set标签使用
- Effective Objective-C(第41-46条)gcd大中枢派发、performSelector
- uva 10570 Meeting with Aliens
- 31_局部和全局变量
- The minimum spanning tree of a graph(图的最小生成树)
- 简单DP Stone Pile Ural_1005
- PHP流程控制语句介绍与使用
- 32_变量的存储类别
- 【初识Oracle】①创建用户以及权限分配
- linux文件系统的系统分析 1-17
- 33_内部和外部函数
- Effective Objective-C(第37-40条)block在栈上?在堆上?
- 关于java中文件删除失败的原因分析
- POJ 1691