HDU 2159 FATE(二維完全揹包)

2021-08-07 23:19:35 字數 509 閱讀 2452

思路:二維完全揹包。雖然每個怪獸的數量沒有限制,但怪獸總數量有限制,所以除了忍耐度,還要加一維怪獸數量。

題目要求剩餘忍耐度盡可能的大,所以這裡把列舉忍耐度放到第一層迴圈,當忍耐度列舉到乙個下限能達到所需經驗值,停止列舉。

// hdu 2159 fate.cpp 執行/限制:0ms/1000ms

#include #include #include #include using namespace std;

int a[105], b[105];

int dp[105][105];

int main()

memset(dp, 0, sizeof(dp));

for (int i = 1; i <= m; i++) }}

if (dp[i][s] >= n)

} printf("%d\n", re == -1 ? re : m - re);

} return 0;

}

HDU2159 FATE 二維完全揹包

problem description 最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的...

HDU 2159 FATE(二維完全揹包)

中文題目就不用解釋了 就是裸的二維完全揹包 d i j 表示消耗i忍耐殺j個怪最多可獲得的經驗 然後就用完全揹包來做了 二維揹包揹包不過是多了一重迴圈 include include includeusing namespace std const int n 105 int main return...

HDU 2159 FATE 二維完全揹包

problem description 最近xhd正在玩一款叫做fate的遊戲,為了得到極品裝備,xhd在不停的殺怪做任務。久而久之xhd開始對殺怪產生的厭惡感,但又不得不通過殺怪來公升完這最後一級。現在的問題是,xhd昇掉最後一級還需n的經驗值,xhd還留有m的忍耐度,每殺乙個怪xhd會得到相應的...