欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院

寒冰王座

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 12875    Accepted Submission(s): 6548

Problem Description
不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.

死亡骑士:"我要买道具!"

地精商人:"我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个."

死亡骑士:"好的,给我一个血瓶."

说完他掏出那张N元的大钞递给地精商人.

地精商人:"我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的,嘿嘿."

死亡骑士:"......"

死亡骑士想,与其把钱当小费送个他还不如自己多买一点道具,反正以后都要买的,早点买了放在家里也好,但是要尽量少让他赚小费.

现在死亡骑士希望你能帮他计算一下,最少他要给地精商人多少小费.

Input
输入数据的第一行是一个整数T(1<=T<=100),代表测试数据的数量.然后是T行测试数据,每个测试数据只包含一个正整数N(1<=N<=10000),N代表死亡骑士手中钞票的面值.

注意:地精商店只有题中描述的三种道具.

Output
对于每组测试数据,请你输出死亡骑士最少要浪费多少钱给地精商人作为小费.
Sample Input
2 900 250
Sample Output
0 50
背包代码:
 1 #include<stdio.h>
 2 #include<string.h>
 3 int money[10010],m[3]={150,200,350};
 4 int main(){
 5     int T,n;
 6     scanf("%d",&T);
 7     while(T--){
 8         scanf("%d",&n);
 9         memset(money,0,sizeof(money));
10             for(int i=0;i<3;++i){
11                 for(int j=m[i];j<=n;j++)if(money[j-m[i]]+m[i]>money[j])money[j]=money[j-m[i]]+m[i];
12             }
13         printf("%d\n",n-money[n]);
14     }
15     return 0;
16 }

另一种解法:

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define MAX(x,y)(x>y?x:y)
 4 int main(){
 5     int T,N;
 6     scanf("%d",&T);
 7     while(T--){
 8             int ans=0;
 9         scanf("%d",&N);
10         int a,b,c;
11         a=N/150;b=N/200;c=N/350;
12         for(int i=0;i<=a;i++){
13         for(int j=0;j<=b;j++){
14         for(int k=0;k<=c;k++){
15                     if(150*i+200*j+350*k<=N&&ans<150*i+200*j+350*k)
16                                 ans=150*i+200*j+350*k;
17             }
18         }
19     }
20     printf("%d\n",N-ans);
21 }
22     return 0;
23 }

转载于:https://www.cnblogs.com/handsomecui/p/4625876.html

寒冰王座(完全背包+多解)相关推荐

  1. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  2. HDOJ1248 寒冰王座 完全背包

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1248 寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    M ...

  3. 解题报告:hdu1248寒冰王座 - 完全背包模板

    2017-09-03 16:16:38 writer:pprp 完全背包问题:从左向右进行扫描,用一维阵列进行分析 代码如下: /* @theme:hdu1248 寒冰王座 @writer:pprp ...

  4. HDU1248:寒冰王座(完全背包)

    题目大意: 兽族领袖萨尔发工资啦,雷克萨(等级15 先知)拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁地死,复活,再死,再复活......于是,他决定给自己买一些道具.他来到了离 ...

  5. 寒冰王座(完全背包)

    传送原题 一道完全背包问题 只要把01背包的j反过来就行 #include<iostream> #include<stdio.h> #include<algorithm& ...

  6. HDU-1248 寒冰王座 完全背包

    很典型的完全背包,也可以暴力跑一下 350可以分成150+200,200可以分成150+50,所以,先%150,再看看剩下的有多少50,如果比之前的150还多,那就减去150个数*50,如果少,直接% ...

  7. HDU 1248 寒冰王座 (背包)

    Problem Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡 ...

  8. HDU 1248 寒冰王座 (完全背包)

    Description 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑士:" ...

  9. HDU1248 寒冰王座 【数学题】or【全然背包】

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

最新文章

  1. Python下opencv使用笔记系列
  2. 讲oracle个阶段书籍6,经典图书推荐系列-之六
  3. bspline怎么使用 python_资源分享:微软官方的Python入门教程
  4. 【坐在马桶上看算法】算法10:二叉树
  5. 现代软件工程 团队作业 - 软件分析和用户需求调查 (2013 - 2014)
  6. 小米10首销战绩公布:嘴上说不买身体却很诚实
  7. 最值钱无人车团队组织架构曝光:Waymo总共不到千人,2/3是工程师
  8. 检测对象是否拥有某一属性
  9. 局域网计算机如何传输文件,强烈推荐电脑同一个局域网传输文件的图文教程
  10. 如何设置透明FLASH
  11. 无法理解高等数学怎么办?
  12. 78 python - 打飞机案例(让敌机移动)
  13. linux解决笔记本pwm背光,担心PWM调光屏幕闪瞎眼?联想这些ThinkPad笔记本要注意...
  14. ajax后台数据怎么返回,后台获取ajax参数 怎么返回数据
  15. Docker安装PHP-FPM5.6 (自带redis扩展,Mysql扩展,GD库扩展(支持JEPG))
  16. SN74HC165驱动
  17. 调用百度aip实现短语音翻译(附代码)
  18. oa系统用什么云服务器,oa系统用什么云服务器
  19. 儿童吹泡泡水简单配方_孩童吹泡泡水的制作方法
  20. Android Jenkins + gradle 实现自动化打包流程并上传至蒲公英平台全过程

热门文章

  1. pjsip视频通信开发(上层应用)之EditText重写
  2. Alter-有意思的小游戏
  3. 如何把一个java程序打包成exe文件,运行在没有java虚
  4. python中文字符串转list
  5. Centos用户和用户组管理
  6. 洛谷P4841 城市规划(多项式求逆)
  7. Redis 3.0.1 安装和配置
  8. JNI通过线程c回调java层的函数
  9. SPOJ QTREE6 lct
  10. linux命令积累之egrep命令