題目描述
taotao的電腦帶不動絕地求生,所以taotao只能去玩pc版的荒野行動了,
和絕地求生一樣,遊戲人物本身可以攜帶一定重量m的物品,裝備揹包
之後可以多攜帶h(h為0代表沒有裝備揹包)重量的東西。玩了幾天
taotao發現了乙個bug,當裝備揹包之後,如果可攜帶重量沒有滿,就
可以拿乙個任意重的東西。(解釋看樣例)有一天taotao空降到了乙個
奇怪的島上,島上有n件裝備,每個裝備都有重量wi和威力值vi,但taotao
不認識這些裝備,所以他來求助你,挑選威力最大的裝備,幫助他吃雞。
輸入描述:
本題有多組輸入(小於10),當n=0時結束輸入。
第一行輸入n,m,h。n,m,h為整數,並且0<=n,m,h<=100,
接下來n行,每行輸入第i個物品的物品的重量wi和威力值vi。0<=wi,vi<=100.
輸出描述:
輸出最大威力值,每組輸出一行。
示例1輸入
3 3 3
2 33 2
2 30輸出8
說明可攜帶的總重量為6,當拿了前兩件裝備,此時容量為5/6,還可以再拿第三件物品。
另一種方法就是暴力,因為資料小,所以讓總揹包重量為m+h-1,減去乙個1代表肯定背不滿。那樣就可以遍歷每乙個揹包,在遍歷當前揹包時,此包不背,去背其它包。
這樣ans=max(ans,最後得到的最大價值+當前揹包的價值)。
題目有句話說:當裝備揹包之後,如果可攜帶重量沒有滿,就
可以拿乙個任意重的東西,所以要考慮h為0的時候,即使背不滿也不能去拿其它的物品。
#include#include#include#include#include#include#include#include#include#include#include#include#define max(a,b) (a>b?a:b)
#define min(a,b) (a>n&&n)
}cout<=weight[i]; j--)
}ans=max(ans,dp[w]+value[k]);
}cout<}
}}
TaoTao要吃雞(01揹包)
題目戳我 思路 當h 0時直接套01揹包即可。當h 0時能卡bug,我們假設第k個 是卡bug放進去的,那麼我們只需用01揹包求出承受m h 1重量時的最大價值,那麼此後的最大價值為dp m h 1 第k個價值,故只需1 n列舉 define first f define second s defi...
TaoTao要吃雞 (牛客 01揹包)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld taotao的電腦帶不動絕地求生,所以taotao只能去玩pc版的荒野行動了,和絕地求生一樣,遊戲人物本身可以攜帶一定重量m的物品,裝備揹包 之後可以多攜帶h h為0代...
牛客網 TaoTao要吃雞 0 1揹包變形
題意 題目鏈結 分析 如果沒有 bug 即 h 0 的時候 就是乙個普通的 0 1 揹包 需要討論一下 h 0 的情況 此時有就相當於有物品是有特權的 而且揹包裝有特權的物品根據題目的要求是應當最後裝的 也就是說特權物品裝完之後揹包將不再可裝 所以特權物品肯定是只有乙個的 資料量並不大,所以可以去列...