傳送門:hdu-2159
最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的經驗,並減掉相應的忍耐度。當忍耐度降到0或者0以下時,xhd就不會玩這遊戲。xhd還說了他最多隻殺s只怪。請問他能昇掉這最後一級嗎?
輸入資料有多組,對於每組資料第一行輸入n,m,k,s(0 < n,m,k,s < 100)四個正整數。分別表示還需的經驗值,保留的忍耐度,怪的種數和最多的殺怪數。接下來輸入k行資料。每行資料輸入兩個正整數a,b(0 < a,b < 20);分別表示殺掉乙隻這種怪xhd會得到的經驗值和會減掉的忍耐度。(每種怪都有無數個)
輸出公升完這級還能保留的最大忍耐度,如果無法公升完這級輸出-1。
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
3637
3839
4041
4243
4445
//#include#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define crl(a) memset(a,0,sizeof(a))
#define max 0xfffffff
typedef
unsigned
long
long ll;
typedef
long
long ll;
const
double pi = acos(-1);
const
double e = 2.718281828459;
const
int mod =1e9+7;
int dp[105][105],n,m,k,s,cost[105],valum[105]; //dp[i][j]:殺i,耐力j時的經驗
intmain()}
return0;}
hdu 2159 FATE 二維費用揹包問題)
題目 怪物有無限個,將完全揹包加一維,除了忍耐度 容量 限制,還有總數限制 物品總個數的限制 有時,二維費用 的條件是以這樣一種隱含的方式給出的 最多只能取m件物品。這事實上相當於每件物品多了一種 件數 的費用,每個物品的件數費用均為1,可以付出的最大件數費用為m。換句話說,設f v m 表示付出費...
FATE(二維揹包)
c fate time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status use mathjax to parse formulas description 最近xhd正在玩一款叫做fate的遊戲,為了...
HDU 2159 FATE 二維費用揹包
problem description 最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的...