国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

hdu 2159 FATE( 二維完全背包)

2019-11-11 02:38:00
字體:
供稿:網(wǎng)友

        二維完全背包,第二層跟第三層的要順序循環(huán);(0-1背包逆序循環(huán));狀態(tài)可理解為,在背包屬性為 {m(忍耐度), s(殺怪個(gè)數(shù))} 里最多能得到的經(jīng)驗(yàn)值,之前的背包犧牲體積,這個(gè)背包犧牲忍耐度跟個(gè)數(shù)

       狀態(tài)轉(zhuǎn)移方程為:  dp[i][j]=max ( dp[i][j],dp[ i-cost[k] ]+w[i]]:消耗i忍耐力殺j個(gè)怪獲得的經(jīng)驗(yàn)值

FATE

Time Limit: 2000/1000 MS (java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12784    Accepted Submission(s): 6048PRoblem Description最近xhd正在玩一款叫做FATE的游戲,為了得到極品裝備,xhd在不停的殺怪做任務(wù)。久而久之xhd開始對(duì)殺怪產(chǎn)生的厭惡感,但又不得不通過殺怪來升完這最后一級(jí)。現(xiàn)在的問題是,xhd升掉最后一級(jí)還需n的經(jīng)驗(yàn)值,xhd還留有m的忍耐度,每殺一個(gè)怪xhd會(huì)得到相應(yīng)的經(jīng)驗(yàn),并減掉相應(yīng)的忍耐度。當(dāng)忍耐度降到0或者0以下時(shí),xhd就不會(huì)玩這游戲。xhd還說了他最多只殺s只怪。請(qǐng)問他能升掉這最后一級(jí)嗎? Input輸入數(shù)據(jù)有多組,對(duì)于每組數(shù)據(jù)第一行輸入n,m,k,s(0 < n,m,k,s < 100)四個(gè)正整數(shù)。分別表示還需的經(jīng)驗(yàn)值,保留的忍耐度,怪的種數(shù)和最多的殺怪?jǐn)?shù)。接下來輸入k行數(shù)據(jù)。每行數(shù)據(jù)輸入兩個(gè)正整數(shù)a,b(0 < a,b < 20);分別表示殺掉一只這種怪xhd會(huì)得到的經(jīng)驗(yàn)值和會(huì)減掉的忍耐度。(每種怪都有無數(shù)個(gè)) Output輸出升完這級(jí)還能保留的最大忍耐度,如果無法升完這級(jí)輸出-1。 Sample Input
10 10 1 101 110 10 1 91 19 10 2 101 12 2 Sample Output
0-11 AuthorXhd
#include<iostream>using namespace std;int main(){	//0-1背包問題背包為 忍耐度  cost 怪消耗的忍耐力 w為得到的經(jīng)驗(yàn)值   int r,jin,n,maxn;   while(cin>>jin>>r>>n>>maxn)   {   	 int cost[205],w[205],i,j,k,x,y;   	 int dp[205][205];//dp[i][j]=t代表消耗i忍耐力殺j個(gè)怪獲得的經(jīng)驗(yàn)值    	 for(i=0;i<205;i++)   	   for(j=0;j<205;j++)   	   dp[i][j]=0;	 for(i=0;i<n;i++)   	    cin>>w[i]>>cost[i];   	 for(i=0;i<n;i++)//怪的種類   	    for(j=cost[i];j<=r;j++)//耐力		   for(k=1;k<=maxn;k++) //怪的個(gè)數(shù) 		   dp[j][k]=max(dp[j][k],dp[j-cost[i]][k-1]+w[i]);//注意為k-1 	int flag=0;	for(i=0;i<=r;i++)//注意掃的時(shí)候 外層循環(huán)為忍耐度,內(nèi)層循環(huán)為殺怪個(gè)數(shù),因?yàn)轭}目要求出剩余忍耐度最大,沒有約束殺怪個(gè)數(shù),一旦找到經(jīng)驗(yàn)加滿的即為最優(yōu)解;   {         if(flag==1) 	       break;	   for(j=0;j<=maxn;j++)	   {	   	  if(dp[i][j]>=jin)	   	  {	   	  	x=i; flag=1;break;	      }	   }	}	if(flag==0) 	  cout<<-1<<endl;	else	  cout<<r-x<<endl;	   }}


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 疏附县| 祥云县| 巧家县| 丰县| 彩票| 南宫市| 奉节县| 永定县| 南投县| 伊宁县| 光泽县| 桃源县| 南阳市| 周宁县| 信丰县| 靖江市| 滕州市| 芮城县| 大关县| 新丰县| 大丰市| 新营市| 邯郸县| 浦北县| 新竹市| 周宁县| 莲花县| 信丰县| 沅陵县| 伽师县| 综艺| 滨州市| 岳池县| 彭州市| 湘潭市| 厦门市| 温泉县| 多伦县| 晋中市| 苏尼特左旗| 长顺县|