zb的生日

描述:
今天是阴历七月初五,acm队员zb的生日。zb正在和C小加、never在武汉集训。他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一吃就是一堆的那种,zb立刻下定决心买了一堆西瓜。当他准备把西瓜送给C小加和never的时候,遇到了一个难题,never和C小加不在一块住,只能把西瓜分成两堆给他们,为了对每个人都公平,他想让两堆的重量之差最小。每个西瓜的重量已知,你能帮帮他么?
输入:
多组测试数据(<=1500)。数据以EOF结尾
第一行输入西瓜数量N (1 ≤ N ≤ 20)
第二行有N个数,W1, …, Wn (1 ≤ Wi ≤ 10000)分别代表每个西瓜的重量
输出:
输出分成两堆后的质量差
样例输入:
5
5 8 13 27 14
样例输出:
3
程序代码:

#include<stdio.h>
void dfs(int n,int cur);
int w[25],sum[25],res,half;
int main()
{  int n,i;while(scanf("%d",&n)!=EOF){  res=0;sum[0]=0;  for(i=1;i<=n;i++){  scanf("%d",&w[i]);  sum[i]=sum[i-1]+w[i];  }half=sum[n]/2;dfs(n,0);printf("%d\n",sum[n]-2*res);}return 0;
}
void dfs(int n,int cur)
{if(n==0){  if(cur>res)res=cur;//搜索到第一个西瓜,比较  return;  }  if(res==half||cur+sum[n]<=res)  return;//结果等于总重量一半或目前重量加上剩下重量小于结果,不用比较  if(cur+w[n]<=half)//取或不取进行搜索  dfs(n-1,cur+w[n]);  dfs(n-1,cur);
}

NYOJ-zb的生日(dfs)相关推荐

  1. nyoj325 zb的生日 DFS

    #include<stdio.h> #include<math.h> int a[21],sum,all,n,i,j,min; void dfs(int star) { if( ...

  2. NYOJ 325 zb的生日

    zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么庆祝 ...

  3. nyoj325 zb的生日(DFS)

    题目325 题目信息 运行结果 本题排行 讨论区 zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加. ...

  4. 小白算法练习 NYOJ 吝啬的国度 dfs+邻接表

    吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有 ...

  5. zb的生日-------搜索 和 动态规划

    简单的贪心算法 : http://love-oriented.com/pack/P01.html  说实话 我是喜欢 动态规划的.......但是省赛迫在眉睫 , 只好先 学 搜索了  ,  赶紧   ...

  6. centos下修改mysql默认端口_CentOS下修改Apache默认端口80

    nyoj325 zb的生日(DFS) zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.neve ...

  7. NYOJ-325Zb的生日

    zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么庆祝生日 ...

  8. NYOJ---题目325zb的生日

    zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么庆祝 ...

  9. NYOJ 456 邮票分你一半

    描述      小珂最近收集了些邮票,他想把其中的一些给他的好朋友小明.每张邮票上都有分值,他们想把这些邮票分成两份,并且使这两份邮票的分值和相差最小(就是小珂得到的邮票分值和与小明的差值最小),现在 ...

最新文章

  1. Science:亚硝酸盐氧化细菌在黑暗海洋中的主要作用
  2. 在String.Format [复制]中转义大括号'{'
  3. 基于matlab 读取文件夹 保存文件夹
  4. 干货,记一次解决录音杂音问题
  5. Scala变量和常用数据类型
  6. 上传附件_留学落户|上传附件预审时一定一定要注意的问题!
  7. python语言与c语言相比在分支结构上有什么不同,python 基础教程之语法篇章——一小时入门python__对比python与C语言的语法异同...
  8. 从Oracle到PostgreSQL:一文掌握Checkpoint重要概念
  9. 解决gitlab关闭登录选项问题
  10. 水性喷涂胶行业调研报告 - 市场现状分析与发展前景预测
  11. R语言笔记 画多个图
  12. 【数学建模】CUMCM-2010A 储油罐的变位识别与罐容表标定 解题思路整理
  13. Handler机制整理
  14. 车牌识别对于智慧城市的重要性
  15. 重磅精品课程总有一门是你想要找的
  16. Echarts树形结构图加点击事件
  17. 手把手教你用Arcgis绘制地图【热力图】
  18. Maven基础——什么是Maven
  19. 计算机组成原理画出CPU与主存及3-8译码器之间信号线的连接问题
  20. 台湾评论大陆量子计算机,台湾媒体盛赞大陆工业科研水平 称台湾人对大陆懵懂无知...

热门文章

  1. mysql 索引扩展
  2. Entity Framework安装方法
  3. 本人复习总结全部资料及其简历供大家參考
  4. 常用正则表达式知识点解读及判读有效数字、手机号邮箱正则表达式
  5. [Effective JavaScript 笔记]第61条:不要阻塞I/O事件队列
  6. android ListView和GridView拖拽移位具体实现及拓展
  7. SP2010开发和VS2010专家食谱--第一章节--列表和事件接收器(6)--使用列表事件接收器...
  8. [物理学与PDEs]第1章习题6 无限长载流直线的磁场
  9. JS每隔一段时间执行一个方法
  10. 一个水杯居然能引出这么多测试点