這種不考慮物品價值的揹包問題,無疑是為我這樣的渣提供了很好的理解空間。
首先是思路:其實也就是對每個物品的「裝」與「不裝」的抉擇了。那麼就寫乙個函式,函式裡利用兩個遞迴,乙個表示裝,乙個表示不裝。那麼一層一層遞進之後,會發現每件物品的裝與不裝都有機會被考慮。
途中只要有哪一步滿足了條件,便return 1,就可以滿足地輸出「yes!」啦。
#includeusing namespace std;
int s,n;
bool judge(int sum, int step, int w)
int main()
大神好多,看到廷神的**覺得好6啊,又簡單又霸氣。像我這樣的渣就只能在部落格裡水一水咯。歡迎大神們提提建議。
written by sneexy
SWUST OJ 之 0032 簡單揹包問題
設有乙個揹包可以放入的物品重量為s,現有n件物品,重量分別是w1,w2,w3,wn。問能否從這n件物品中選擇若干件放入揹包中,使得放入的重量之和正好為s。如果有滿足條件的選擇,則此揹包有解,否則此揹包問題無解。輸入資料有多行,包括放入的物品重量為s,物品的件數n,以及每件物品的重量 輸入資料均為正整...
小偷的揹包 swustoj
小偷的揹包 1000 ms 10000 kb 2422 6485 設有乙個揹包可以放入的物品重量為s,現有n件物品,重量分別是w1,w2,w3,wn。問能否從這n件物品中選擇若干件放入揹包中,使得放入的重量之和正好為s。如果有滿足條件的選擇,則此揹包有解,否則此揹包問題無解。輸入第一行為物品重量s ...
揹包問題 01揹包問題
n個物品,總體積是v,每個物品的體積的vi,每個物品的最大價值是wi,在不超過v的體積下求最大價值 eg揹包容積為 5 物品數量為 4 物品的體積分別為 物品的價值分別為 思路定義乙個二位陣列int f new int n 1 v 1 f i j 就表示在1 i個物品中選取體積小於v的情況的最大價值...