HDU 4422 The Little Girl who Picks Mushrooms

题意:在幻想乡的一天,爱丽丝准备去五座山上去采蘑菇,她从每座山上采的蘑菇量为0<=wi<=2012克。她带了五个袋子,每到一座山,她就用一个袋子来装蘑菇,每个袋子最多盛2012克蘑菇。爱丽丝想尽可能多地带蘑菇回家做美味的蘑菇汤。不过爱丽丝居住的魔法森林有三个妖精——桑尼、露娜和斯塔,爱丽丝必须给她们三袋子蘑菇作为过路费,这些蘑菇总量必须为整数千克,否则爱丽丝必须留下所有蘑菇,空手着回家(这三个妖精什么时候这么厉害了(lll¬ω¬))。不过幻想乡的数量换算不太一样,1千克=1024克。这还没完,普通的魔法使魔理沙总是会偷爱丽丝采回来的蘑菇,如果爱丽丝剩下的蘑菇超过1千克,魔理沙就会1千克1千克地不断偷走爱丽丝的蘑菇。求爱丽丝最多带多少蘑菇回家。

输入格式:
多组输入,每组第一行一个整数n(0<=n<=5),表示已知的n个袋子的蘑菇数量。接下来n个数,表示每个袋子里的蘑菇数。

输出格式:
一个整数,表示爱丽丝最多带回的蘑菇数。

Sample Input
1
9
4
512 512 512 512
5
100 200 300 400 500
5
208 308 508 708 1108

Sample Output
1024
1024
0
792

对于第四组样例,给桑尼、露娜和斯塔:(208+308+508)=1024,
被魔理沙偷走后,剩余(708+1108)-1024=792。

题解:

可能很多人没明白输入,爱丽丝一共有5个袋子,我们只知道其中n个袋子中的蘑菇数,其余的袋子有可能为任意数,我们算答案按最大可能做就行。

对于n<=3,我们肯定可以用三个袋子凑出给三妖精的,然后两个袋子再凑个1024。
对于n=4,如果其中有三个袋子可以凑成1024的整数倍,那剩余的那个已知袋子可以和未知袋子凑个1024。如果没有,只能用两个已知的加一个未知的去凑1024的整数倍,将剩余两个之和最大的袋子带回家。
对于n=5,所有袋子里的蘑菇数都知道,我们先找能凑成1024整数倍的三个袋子,在此前提下找剩余两个袋子之和最大的。如果没有可以凑成1024整数倍的袋子,输出0。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int a[10];
int main()
{int n;while(scanf("%d",&n)!=EOF){int sum=0;int ans=0;for(int i=1;i<=n;i++){scanf("%d",&a[i]);sum+=a[i];}if(n<=3){ans=1024;}if(n==4){for(int i=1;i<=n;i++){if((sum-a[i])%1024==0){ans=1024;}}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i!=j){int now=a[i]+a[j];if(now!=0&&now%1024==0){now=1024;}if(now>1024){now%=1024;}ans=max(ans,now);}}}}if(n==5){for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(i!=j){int now=a[i]+a[j];if((sum-now)%1024==0){if(now!=0&&now%1024==0){now=1024;}if(now>1024){now%=1024;}ans=max(ans,now);}}}}}printf("%d\n",ans);}return 0;
}

HDU 4422 The Little Girl who Picks Mushrooms相关推荐

  1. HDU 4422 The Little Girl who Picks Mushrooms(简单题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4422 题目大意:小姑娘背着5个包去山上采蘑菇,每座山上只能用一个背包采集.三个小精灵会要她3个背包,其 ...

  2. HDU - 4422 The Little Girl who Picks Mushrooms

    题意:有5个背包,分别装着5座山上采的蘑菇,已知在其中n(1<=n<=5)座山上采的蘑菇数量,剩下的5-n座未知,采完后,要求有3个背包的蘑菇重量正好是1024的整数倍,求另外两个背包重量 ...

  3. The Little Girl who Picks Mushrooms HDU - 4422 (枚举暴力)

    题目描述:5个包,已经有n个包里装了东西,还要继续往剩下的包里装东西(想装多少装多少).返程要经过两个过程,一是要交出3个东西数量之和恰好为1024整数倍的包:二是剩下两个包的东西每次都会被偷1024 ...

  4. hdu4422The Little Girl who Picks Mushrooms

    4422 小于等于3 的时候就是1024 4的时候 讨论 5的时候讨论 注意重量为0的情况 1 #include <iostream> 2 #include<cstdio> 3 ...

  5. hdu 4422(水)

    点击打开链接 题目意思难懂一些,懂了就过来. 一共有5座山,每座山有很多的蘑菇,给你一个n表示已经采了n座山上的蘑菇,求最多带回去多少蘑菇.. 当采完5座山后,有三个人要走三个袋子,这三个的袋子的蘑菇 ...

  6. 关于程序员修改电脑用户名中文为字母那些事

    公司新弄得电脑是中文用户名和路径的,我当时也一直用,现在发现各种问题,开始后悔,但是不想换用户名不想重装系统,只能想办法了 使用Registry Workshop image.png 然后改用户名 i ...

  7. Taotao Picks Apples HDU - 6406

    K - Taotao Picks Apples 题目链接:HDU - 6406 题意:树上有一排苹果,每个苹果又同的高度,taotao要摘苹果,而且必须从第一个苹果开始摘,然后没遇到一个高度比之前摘得 ...

  8. HDU 6406 Taotao Picks Apples(前缀和+二分)

    HDU 6406 Taotao Picks Apples(前缀和+二分) Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 131072/131 ...

  9. hdu 6406 Taotao Picks Apples 线段树

    hdu 6406 多校八第十题,设d1[ i ]为从a1开始到 ai 的最长递增子序列长度,设d2[ i ]为从ai开始到an的最长递增子序列长度,假设要把ap改为q,可以把序列分为1到p-1和p+1 ...

  10. hdu - 6406 Taotao Picks Apples(离线+离散+技巧)

    题目链接:Taotao Picks Apples 题目大意:有n个数,m个操作,每个操作x,q,将x位的数字改为q,输出改完数后数组的递增序列有多长(只能从第一个数开始找,并且必须依次找更大的数). ...

最新文章

  1. sklearn自学指南(part59)--神经网络模型(监督)
  2. java 无法继承抽象类_java抽象类可以被继承吗?
  3. rs232转usb驱动for server 2008_电子史 · 什么插头是需要转一圈才能插进去的?
  4. 多线程并发如何高效实现生产者/消费者?
  5. React div加载背景图
  6. Spring Cloud实战小贴士:健康检查
  7. linux下ftp配置文件详解
  8. LeetCode 9. Palindrome Number
  9. TexStudio快捷键
  10. ios获取新数据要不要关_100%安卓APP都在获取用户隐私,网络隐私进入深入区
  11. 网络驱动器映射成功但无法更新文件_我的电脑访问NAS像打开本地硬盘那样打开网络NAS...
  12. C语言学习笔记---时间函数clock()和time()
  13. day1:作业 编写登录接口并画出相应的流程图
  14. 2017全球光伏增速或放缓 国内“6·30”仍将是分水岭
  15. (二)Luence——代码实现索引及搜索
  16. pandas 删除特定行根据条件_记录21个Pandas技巧
  17. 调用百度地图进行路线规划
  18. angular 万年历_jQuery实现的简单日历组件定义与用法示例
  19. CSDN日报190221——被裁的第50天,我终于拿到心仪公司Offer
  20. Python实例3:中文词语统计

热门文章

  1. 农场花园种花偷花前后端完整项目
  2. My Hotmail Has Been Upgraded to 250MB!
  3. Spark基础练习题(RDD)
  4. 大家来找茬源码(微擎) -- 流量主
  5. [单片机框架][bsp层][AT32F415][bsp_adc] adc配置和使用
  6. 爬小猪短租发布的房子信息
  7. matlab 矩阵增加行,MATLAB 中 如何在矩阵中插入1行
  8. 如何组织一个高效的开发团队?
  9. ElK STACK的简要分析
  10. VUE学习笔记,最近12,12上班,没得空继续学习vue,先记录一下