首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

poj1384-完全双肩包

2012-11-06 
poj1384-完全背包具体可以到到网上搜索一下背包九讲,各种类型的背包,不过基础还是01背包。#include stdio.

poj1384-完全背包

具体可以到到网上搜索一下背包九讲,各种类型的背包,不过基础还是01背包。

#include <stdio.h>#include <stdlib.h>#include <string.h>#define Min(a,b) (a<b?a:b)#define Max(a,b) (a>b?a:b)#define inf 0x0FFFFFFF#define nMax 510int E,F,N;int price[nMax], weight[nMax];int f[10010];int newN;void Dp01(){f[0] = 0;for (int i = 1; i <= F-E; ++ i){f[i] = inf;}for (int i = 1; i <= N; ++ i){//for (int j = F-E; j >= weight[i]; -- j)for (int j = weight[i]; j <= F-E; ++ j){f[j] = Min(f[j], f[j - weight[i]] + price[i]);}}if (f[F-E] != inf){printf("The minimum amount of money in the piggy-bank is %d.\n", f[F-E]);}elseprintf("This is impossible.\n");}int main(){int T;int p,w;scanf("%d", &T);while (T --){newN = 1;scanf("%d %d", &E, &F);scanf("%d", &N);for (int i = 1; i <= N; ++ i){scanf("%d %d", &price[i], &weight[i]);//scanf("%d %d", &p, &w);//getNewPW(p, w);}Dp01();}}


 

热点排行