背包问题问法变化之---输出方案
2013-07-23 17:23
148 查看
/* 背包问题之问法变化--输出方案 输出方案:记录下每个状态的最优值是由哪一项推出来的. 具体操作是:用一个mark数组记录其是否选择或者选几件等. 0-1背包就是记录其是否要选择,而完全背包和多重背包就是记录要选几件,当然也可能不选该种物品. */ #include<stdio.h> #include<string.h> int main() { int N,V; while(scanf("%d%d",&N,&V)&&(N||V)) { int v[1005],w[1005],dp[1005],mark[1005]; memset(dp,0,sizeof(dp)); memset(mark,0,sizeof(mark)); for(int i=1;i<=N;i++) scanf("%d%d",&v[i],&w[i]); for(int i=1;i<=N;i++) { for(int j=V;j>=v[i];j--) { if(dp[j]<dp[j-v[i]]+w[i]) {dp[j]=dp[j-v[i]]+w[i];mark[i]=1;} } } for(int i=1;i<=N;i++) if(mark[i]) printf("-->(%d %d)",v[i],w[i]); printf("\n"); printf("%d\n",dp[V]); } }
相关文章推荐
- 动态规划之背包问题及输出背包具体方案
- 背包问题问法变化之---方案总数
- YOJ 2335-0-1背包问题(输出最优装入方案)
- 624&&背包问题&&方案输出
- 输出字典序最小的背包方案
- sicily 1346 金明的预算方案 有依赖的背包问题
- 普及练习场 动态规划的背包问题 金明的预算方案
- bzoj2748[HAOI2012]音量调节(背包问题的方案)
- jboss控制台日志输出带日期问题解决方案
- SDNU 1179.金明的预算方案【NOIP 2006 提高组】【背包问题】【7月30】
- HDOJ 1284 钱币兑换问题 (求多重背包恰好装满总方案数)
- HDOJ 1284 钱币兑换问题 (求多重背包恰好装满总方案数)
- 第七讲 有依赖的背包问题 vijos P1313金明的预算方案
- 背包输出方案 Pro-Test Voting
- bzoj2748[HAOI2012]音量调节(背包问题的方案)
- 动态规划(背包问题):HRBUST 1377 金明的预算方案
- 飞行员配对方案问题 二分匹配(网络流)+输出解
- 背包问题的方案数(01)
- 0-1背包问题(需要输出具体背包序号)
- HDU 2126 Buy the souvenirs (01背包,输出方案数)