hdu 2159 FATE(二维完全背包)
2014-03-03 11:28
381 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2159
二维完全背包,限定因素是容量和物品总个数,内层循环顺序,
二维完全背包,限定因素是容量和物品总个数,内层循环顺序,
#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; const int INF = 0x3f3f3f3f; int dp[110][110]; int main() { int n,m,k,s; int c[110],w[110]; while(~scanf("%d %d %d %d",&n,&m,&k,&s)) { for(int i = 1; i <= k; i++) scanf("%d %d",&w[i],&c[i]); for(int i = 0; i <= m; i++) { for(int j = 0; j <= s; j++) { if(j == 0) dp[i][j] = 0; else dp[i][j] = -INF; } } for(int i = 1; i <= k; i++) { for(int j = c[i]; j <= m; j++) { for(int g = 1; g <= s; g++) { dp[j][g] = max(dp[j][g], dp[j-c[i]][g-1]+w[i]); } } } int f = 0; for(int i = 0; i <= m; i++) { for(int j = 0; j <= s; j++) { if(dp[i][j] >= n) { printf("%d\n",m-i); f = 1; break; } } if(f == 1) break; } if(!f) printf("-1\n"); } return 0; }
相关文章推荐
- HDU 2159 Fate(二维完全背包)
- HDU 2159 FATE(二维完全背包)
- HDU 2159 FATE (二维完全背包)
- HDU 2159 FATE (二维完全背包)
- HDU 2159---FATE【二维完全背包】
- HDU-2159-FATE(二维完全背包)
- HDU - 2159 FATE(二维完全背包)
- HDU 2159 FATE【二维背包+完全背包】
- HDU 2159 FATE【二维完全背包】
- 二维费用 hdu 2159 FATE(完全背包)HDU OJ 4501 小明系列故事——买年货【DP】
- HDU 2159 FATE【二维完全背包】
- HDU 2159 FATE(完全背包:二维限制条件)
- HDU_2159_FATE(二维完全背包)
- HDU 2159 FATE(二维完全背包)
- HDU - 2159 - FATE 【二维完全背包,和一维差不多呀】
- HDU 2159 FATE 【二维费用完全背包】
- HDU 2159 FATE(二维费用完全背包)
- HDU-2159-FATE(二维完全背包)
- 【hdu 2159】 FATE 二维费用完全背包
- HDU 2159 FATE 二维完全背包 dp