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

雷克萨:"我要买道具!"

地精:"我们这里有三种道具,小红150G一个,大蓝200G一个,大红350G一个。"

雷克萨:"好的,给我一个大红。"

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

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

雷克萨:"......真坑......"

雷克萨想,与其把钱当小费送给他还不如自己多买一点道具,反正以后都要买的,早点买了放在家里也好,但是要尽量少让他赚小费。
(他可不愿意跑回主城买东西,买完了再跑到这大老远的战场来)
现在雷克萨希望你能帮他计算一下,最少他要给地精商人多少小费.

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

注意:地精商店只有题中描述的三种道具。
Output对于每组测试数据,请你输出雷克萨最少要浪费多少钱给地精作为小费。
Sample Input

2
900
250

Sample Output

0
50
这道题可转化为完全背包(完全被爆?)问题,金钱可看作是价值与重量相同的物品,萨尔手中的钱可看作背包,答案即为背包总载重量-最优解。
鉴于本人水平有限,就用了最原始的二维数组+三重循环。(正好可以给刚入门的同学看(自我安慰。。。。。))
上代码:
#include<stdio.h>
#include<string.h>
int dp[5][10005];
int v[3]={0,150,200};//由于价值重量一样,就用一个一维数组来保存下标从第一个开始
int max(int x,int y)
{return x>y?x:y;
}
int main()
{int t;scanf("%d",&t);while(t--){int n,i,j,k;scanf("%d",&n);memset(dp[0],0,sizeof(dp[0]));//初始化dp数组memset(dp[1],0,sizeof(dp[1]));memset(dp[2],0,sizeof(dp[2]));for(i=1;i<=2;i++)//状态转移{for(j=1;j<=n;j++){dp[i][j]=dp[i-1][j];for(k=1;k*v[i]<=j;k++){dp[i][j]=max(max(dp[i-1][j],dp[i-1][j-k*v[i]]+k*v[i]),dp[i][j]);}//zhuyihaiyaohezijibijiao}//注意此处还要和自己比}printf("%d\n",n-dp[2][n]);}return 0;
}

HDU1248:寒冰王座(完全背包)相关推荐

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

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

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

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

  3. HDU1248 寒冰王座【0/1背包+DP】

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

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

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

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

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

  6. [HDU-1248]寒冰王座(完全背包)

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

  7. HDOJ1248 寒冰王座 完全背包

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

  8. Hdu1248 寒冰王座

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

  9. 【完全背包或哈希映射】HDU-1248 寒冰王座

    注解 1.可用完全背包来做. 2.也可用哈希映射来做. 3.注意如果输入的数字小于150,应该直接输出该数字,因为什么都买不了. 代码(完全背包) #include <iostream> ...

最新文章

  1. 12 个超燃的 IntelliJ IDEA 插件!
  2. Android开发之布局--RelativeLayout布局
  3. 《代码大全2》读书笔记 Week2
  4. Deadline来了,如何按时结题?
  5. C#面向对象名词解释(四)
  6. 笔记-项目人力资源管理-复习要点
  7. ajax序列化表单,再也不用通过data去一个个的传值了
  8. 1008 Elevator (20 分)_13行代码AC
  9. php+mysql记事本_一个简单记事本php操作mysql辅助类创建
  10. SOA:服务需要加以区别保持差异性吗?
  11. vb.net 打开ie 传参数_FF与IE对javascript和CSS的区别?
  12. mysql linux root密码忘记了怎么办,linux下忘记mysql的root密码解决办法 | 严佳冬
  13. 1997年起至今的所有 WiFi 设备均易遭 Frag 攻击
  14. 连载四:PyCon2018|恶意域名检测实例(附源码)
  15. 合作式智能运输系统 车用通信系统应用层及应用数据交互标准 第二阶段_为什么一定要了解OPC UA TSN——未来的工业通信标准...
  16. java基础 题和知识点总结, 关于String s是否默认初始化为null......,new一个对象和类静态域,是不是在内存中不是一个地方...
  17. MATLAB如何创建表格
  18. Cisco QoS配置说明(CBWFQ/LLQ/PQ/CQ/WFQ)
  19. 超详细Gulp打包seajs模块压缩合并,绝对对你项目有帮助 ~
  20. maven生成webapp

热门文章

  1. MySQL: 1366 incorrect string value
  2. ZSYH大数据实验室面试
  3. 2019阿里P7社招面试题泄露;《警察抓小偷》,几人能答出来?
  4. MOS逻辑门(反相器/与门/或门/或非门/与非门)
  5. 美国证交会最新方针和发言表明该机构正逐渐接受ICO(上篇)
  6. maven加载本地jar包,无法将本地jar包打进项目
  7. 榛果 美团 登录 爬虫 requests session
  8. VCS中VPD的使用简单教程
  9. 【整理】写给java web一年左右工作经验的人
  10. PDF解除密码怎么操作?这个方法可以帮到你