POJ 1276 : Cash Machine - 多重背包
2015-01-10 21:46
399 查看
最基础的多重背包
#include<iostream> #include<cstdio> #include<cstring> using namespace std; const int N=100005; int cash,k,n ,w ,c ,dp ,cnt ; //cnt[]限制取bills的个数 int main(){ int i,j; while(~scanf("%d%d",&cash,&k)){ for(i=0;i<k;i++){ scanf("%d%d",&n[i],&w[i]); c[i]=w[i];//此处体积c[i]与价值w[i]相同 } memset(dp,0,sizeof(dp)); for(i=0;i<k;i++){ memset(cnt,0,sizeof(cnt)); for(j=w[i];j<=cash;j++){ if(dp[j]<dp[j-c[i]]+w[i] && cnt[j-c[i]]<n[i]){ dp[j]=dp[j-c[i]]+w[i]; cnt[j]=cnt[j-c[i]]+1; } } } printf("%d\n",dp[cash]); } return 0; }
相关文章推荐
- poj1276 Cash Machine-多重背包
- POJ1276:Cash Machine(多重背包)
- POJ 1276 Cash Machine(动态规划、多重背包)
- POJ 1276 Cash Machine(多重背包)
- poj1276——Cash Machine(多重背包)
- POJ1276 Cash Machine(多重背包)
- poj 1276 Cash Machine(多重背包)
- poj 1276 Cash Machine(多重背包问题)
- POJ 1276 Cash Machine 多重背包--二进制优化
- POJ 1276 Cash Machine【多重背包DP】
- poj 1276 Cash Machine(多重背包)
- poj 1276 Cash Machine_多重背包
- Cash Machine(poj-1276)(多重背包)
- POJ 1276 Cash Machine (多重背包)
- POJ 1276 Cash Machine (多重背包)
- POJ 1276 Cash Machine(多重背包)
- poj-1276 Cash Machine(多重背包)
- 多重背包练习-计数法-POJ-1276-Cash Machine
- poj 1276 Cash Machine 多重背包
- POJ 1276 Cash Machine (多重背包&单调队列)