話說,上次小P到伊利哇呀國旅行得到了一批寶藏。他是相當(dāng)開心啊,回來就告訴了他的好基友小鑫,于是他們又結(jié)伴去伊利哇呀國尋寶。 這次小P的尋寶之路可沒有那么的輕松,他們走到了一個森林,小鑫一不小心被觸發(fā)了機(jī)關(guān),被困在了一個大籠子里面,籠子旁邊上有一道題目和一個密碼鎖,上面說只要解出此題輸入密碼即可救出被困人。小鑫不是很聰明,所以他做不出來,他知道小P很笨,更解不出來。所以他就讓小P獨(dú)自回去,不用管他。但是小P重情重義不會拋棄他離去。他說:“不,好基友一起走!”。于是就感動了上帝,上帝特派你來替他們解決問題。聰明的你要加油了啊! 題目描述:給你n種物品和一個體積為v的包包。每種物品有無數(shù)種,體積是vi價值是wi。求出包包v所能裝的最大價值的東西。 Input
多組輸入。第一行有兩個正整數(shù)n(0
#include <stdio.h>#include <string.h>#define N 10005int dp[10005];int w[N],vi[N];int max(int a,int b){ return a>b? a:b;}int main(){ int i,n,v,j; while(~scanf("%d%d",&n,&v)) { memset(dp,0,sizeof(dp)); for(i=0;i<n;i++) { scanf("%d",&w[i]); } for(i=0;i<n;i++) { scanf("%d",&vi[i]); } for(i=0;i<n;i++) { for(j=0;j<=v;j++) { if(j>=vi[i]) dp[j]=max(dp[j],dp[j-vi[i]]+w[i]); } } printf("%d/n",dp[v]); } return 0;}新聞熱點(diǎn)
疑難解答