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

原创 2017年01月03日 15:32:32

讲道理这题真是背包问题中的水题,第一次写背包如此轻松。
题目:

不死族的巫妖王发工资拉,死亡骑士拿到一张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

This is Code:

#include<bits/stdc++.h>
using namespace std;
const int maxn = 10000 + 5;
int dp[maxn];

void completebag(int n, int cost){
    for (int i = cost; i <= n; i++)
            dp[i] = max(dp[i-cost] + cost, dp[i]);
}
int main()
{
    int T, n, a[3] = {150, 200, 350};
    cin>>T;
    while(T--){
        cin>>n;
        memset(dp, 0, sizeof(dp));
        for (int i = 0; i < 3; i++)
            completebag(n, a[i]);
        cout<<n - dp[n]<<endl;
    }

    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

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

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

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

题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=1248思路:完全背包求最大价值代码:#include #include #include #in...
  • huatian5
  • huatian5
  • 2016年03月22日 22:21
  • 340

hdu-1248 寒冰王座

#include int main() { int n,t,i,j; scanf("%d",&n); while(n--) { int sum,max; scanf...
  • wojiaohuangyu
  • wojiaohuangyu
  • 2015年12月18日 14:34
  • 270

HDU-1248:寒冰王座——纯数学解法

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1248 #include int main () { int a,b,c,d,i; ...
  • u013831257
  • u013831257
  • 2014年04月04日 19:03
  • 1008

寒冰王座 1248 (完全背包)

寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi...
  • yanghui07216
  • yanghui07216
  • 2015年08月26日 17:54
  • 240

寒冰王座(dp) 完全背包

#include #include #include #define maxn 10005 using namespace std; int sum; int dp[maxn]; ...
  • u013777113
  • u013777113
  • 2014年05月15日 22:40
  • 367

hdu1248寒冰王座(完全背包)

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

HDU1248 寒冰王座 (完全背包)

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

HDU1248 寒冰王座(完全背包)

题意: 中文题不解释 要点: 就是个完全背包的水题变形,注意因为最后钱用不完,所以d数组一开始全赋值为0。 #include #include #include #include using na...
  • SeasonJoe
  • SeasonJoe
  • 2016年05月15日 14:01
  • 181

寒冰王座----HDU_1248----完全背包

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1248 寒冰王座 Time Limit: 2000/1000 MS (Java/Others...
  • dr5459
  • dr5459
  • 2012年07月20日 08:17
  • 1566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HDU-1248 寒冰王座 (完全背包)
举报原因:
原因补充:

(最多只允许输入30个字)