• HDU1114 Piggy-Bank(完全背包)


    题意:给一个储钱罐,已知空的储钱罐和装了硬币的储钱罐的质量。然后给了n种硬币的质量和价值。
    问储钱罐里最少有多少钱。
    解法:完全背包。注意要初始化为 INF,要正好装满,如果结果是INF,输出This is impossible.
    /* ***********************************************
    Author        :devil
    Created Time  :2015/12/21 21:16:56
    ************************************************ */
    
    #include <iostream>
    #include <algorithm>
    #include <cstring>
    #include <cmath>
    #include <queue>
    #include <map>
    #include <set>
    #include <vector>
    #include <cstdio>
    using namespace std;
    const int inf=0x3f3f3f3f;
    int dp[10010],v[510],w[510];
    int main()
    {
        //freopen("in.txt","r",stdin);
        int t;
        scanf("%d",&t);
        while(t--)
        {
            int n,m;
            scanf("%d%d",&n,&m);
            m-=n;
            scanf("%d",&n);
            for(int i=0;i<n;i++)
                scanf("%d%d",&w[i],&v[i]);
            memset(dp,inf,sizeof(dp));
            dp[0]=0;
            for(int i=1;i<=m;i++)
            {
                for(int j=0;j<n;j++)
                {
                    if(i>=v[j]) dp[i]=min(dp[i],dp[i-v[j]]+w[j]);
                }
            }
            if(dp[m]!=inf) printf("The minimum amount of money in the piggy-bank is %d.
    ",dp[m]);
            else printf("This is impossible.
    ");
        }
        return 0;
    }
  • 相关阅读:
    第12组 Beta冲刺 (3/5)
    第12组 Beta冲刺 (2/5)
    第12组 Beta冲刺 (1/5)
    每周小结(1/3)
    第03组 Beta冲刺 (4/5)
    第03组 Beta冲刺 (3/5)
    第03组 Beta冲刺 (1/5)
    第03组 Alpha冲刺 总结
    第03组 Alpha冲刺 (6/6)
    第03组 Alpha冲刺 (4/6)
  • 原文地址:https://www.cnblogs.com/d-e-v-i-l/p/5064913.html
Copyright © 2020-2023  润新知