N题 第K大背包
2013-06-01 20:52
134 查看
#include<iostream> using namespace std; #include<cstdio> #include<cstring> int dp[205][205],c[200],w[200]; int n,m,k,s; int main() { int i,j; while(cin>>n>>m>>k>>s) { memset(dp,0,sizeof(dp)); memset(c,0,sizeof(c)); for(i=1;i<=k;i++) { cin>>w[i]>>c[i]; } for(i=1;i<=k;i++) { for(j=c[i];j<=m;j++) { for(int p=1;p<=s;p++) { if(dp[p][j]<dp[p-1][j-c[i]]+w[i]) { dp[p][j]=dp[p-1][j-c[i]]+w[i]; // cout<<dp[p][j]<<endl; } } } } int pan=0; for(i=0;i<=m;i++) { if(dp[s][i]>=n) { pan=1; cout<<m-i<<endl; break; } } // cout<<endl; if(!pan) cout<<"-1"<<endl; } return 0; }
相关文章推荐
- HDU 2639 Bone Collector II / 第K大的01背包
- 01背包_第k优解
- hdu 2639Bone Collector II(01背包求第k大)
- HDU 2639 第K大背包问题
- HDU2693 骨头收藏家II(第k大背包)
- hdu-2639-Bone Collector II【第K大背包】
- 背包的第k优解问题
- HDU 2639 背包第k优解
- hdu 2639求背包第K大值
- 【01背包求第K优解】HDU 2639 Bone Collector II
- 杭电2639————DP之01背包第k优解
- hdu 2639 01背包的 第K优解
- HDU 2639 Bone Collector II [动态规划 第k大01背包]
- hdu 2639 Bone Collector II(第K大背包)
- HDU-2639 Bone Collector II (01背包 找第k优解 入门题)
- hdu2639-01背包(第k大背包问题)
- HDU 2639 Bone Collector II(01背包变形【第K大最优解】)
- HDU2639_Bone Collector II 01背包求第K优解
- HDOJ 2639 Bone Collector II(01||第K大背包)
- hdu 2639 次优解、第K优解 0-1背包