这是道01背包题   ,尽管背包不会  ,可是还是看出来了,递推公式写啊写没写出来,后来一同学说是dfs。这我就開始了A了,

题意是给你n个重量是Wn的石头  让你放到两个包里面。看他们两个差值最小,而且输出这个差值。

dfs代码

#include <stdio.h>
int sum;
int h,T;
int a[100];
void dfs (int x,int y)
{
if(x==T)
{
if(y>h) h=y ;
return ;
}
if(h==sum/2) return ;
if(y+a[x]<=sum/2)//等于号一定要有。这样调了好久好久,由于他们有可能相等。 dfs(x+1,y+a[x]);
dfs(x+1,y);
}
int main()
{
while(scanf("%d",&T)==1)
{
sum=0;h=0;
for(int i=0;i<T;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
}
// printf("%d\n",sum);
dfs(0,0);
// printf("%d\n",h);
printf("%d\n",sum-2*h);
}
}

dp代码

#include <cstring>
#include <cstdio>
const int maxx = 2000010;
int dp[maxx],a[25],n;
int abs(int x)
{
return (x>0)?x:-x;
}
int maxxx(int a,int b)
{
return (a>b)? a:b;
}
int main()
{
while(scanf("%d",&n)==1)
{
if(n==1)
{
scanf("%d",&a[0]);
printf("%d",a[0]);
continue;
}
int sum = 0,temp,ans;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
sum += a[i];
dp[i] = 0;
}
temp = sum/2;
dp[0] = 0;
for(int i=1;i<=n;i++)
for(int j=temp;j>=a[i];j--)
dp[j] = maxxx(dp[j-a[i]]+a[i],dp[j]);//求在【0-temp】最大的数就好了
for(int i=temp;i>=0;i--)
if(dp[i]!=0)
{
ans = dp[i];
break;
}
printf("%d\n",abs(sum-2*ans));
}
return 0;
}

ural 1005 Stone Pile的更多相关文章

  1. URAL 1180. Stone Game (博弈 + 规律)

    1180. Stone Game Time limit: 1.0 second Memory limit: 64 MB Two Nikifors play a funny game. There is ...

  2. ural 1180 Stone Game

    http://acm.timus.ru/problem.aspx?space=1&num=1180 #include <cstdio> #include <cstring&g ...

  3. 别人整理的DP大全(转)

    动态规划 动态规划 容易: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...

  4. dp题目列表

    此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...

  5. poj 动态规划题目列表及总结

    此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...

  6. poj动态规划列表

    [1]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 13 ...

  7. POJ 动态规划题目列表

    ]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322 ...

  8. poj 动态规划的主题列表和总结

    此文转载别人,希望自己可以做完这些题目. 1.POJ动态规划题目列表 easy:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, ...

  9. 别人整理的dp题目

    动态规划 动态规划 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322, 14 ...

随机推荐

  1. Asteroids(匈牙利算法)

    求最小点覆盖数,即最大匹配数,匈牙利算法. #include<stdio.h> #include<string.h> ][],vis[],linker[];//linker[] ...

  2. 文件的上传(可以上传照片,word文档,等单个文件)

    jsp: jsp页面: <LINK href="${basePath}plugins/uploadify/uploadify.css" type="text/css ...

  3. Laravel5.1学习笔记6 响应

    基本响应 附加头信息到响应 附加Cookie到响应 其他响应 View视图响应 JSON响应 File下载 重定向 重定向到命名路由 重定向到控制器Action 附带闪回Session数据重定向 响应 ...

  4. 浅谈Websocket、Ajax轮询和长轮询(long polling)

    浅谈Websocket.Ajax轮询和长轮询(long p0ll) 最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket W ...

  5. 移动端弹性滑动以及vue记录滑动位置

    -webkit-overflow-scrolling介绍 -webkit-overflow-scrolling: auto | touch; auto: 普通滚动,当手指从触摸屏上移开,滚动立即停止 ...

  6. layui 时间前后节点验证

    var start = { istime: true, format: 'YYYY-MM-DD hh:mm:ss', max: '2099-06-16', istoday: true, choose: ...

  7. vim的快捷键大全

    vim是开发利器,掌握快捷可以事半功倍,这里总结下常用的快捷键,提高开发速度这里写代码片 1.vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来 ...

  8. Android第三方登陆之新浪微博Weibo篇(原生登陆授权)

    前言 Android第三方登录可以说是非常的常见,今天主要先说一下新浪微博第三方登陆授权. SDK版本支持 SDK v3.0已经发布了支持iPhone和Android的版本. 须将你的应用的包名签名信 ...

  9. 解决无法移除tomcat中的项目

    问题:启动myeclipse,tomcat提示报错,blind,但是你移除的时候无法移除,只会显示一个黄色的感叹号,此时你直接在webapp中删除时,也提示呗占用无法删除. 办法:关掉myeclips ...

  10. mysql 5.6 中 explicit_defaults_for_timestamp参数

    mysql 5.6 中 explicit_defaults_for_timestamp参数 一: 官方文档中关于explicit_defaults_for_timestamp参数说明如下: expli ...