簡單揹包問題

2022-08-22 08:30:14 字數 682 閱讀 9349

設有乙個揹包可以放入的物品重量為s,現有n件物品,重量分別是w1,w2,w3,…wn。

問能否從這n件物品中選擇若干件放入揹包中,使得放入的重量之和正好為s。

如果有滿足條件的選擇,則此揹包有解,否則此揹包問題無解。

輸入輸入資料有多行,包括放入的物品重量為s,物品的件數n,以及每件物品的重量(輸入資料均為正整數)

多組測試資料。

輸出對於每個測試例項,若滿足條件則輸出「yes」,若不滿足則輸出「no「

樣例輸入

20 5

1 3 5 7 9

樣例輸出
yes
#include int g_value[1000

];int packet(int weight, int

mount)

if (weight < 0 || (weight > 0 && mount < 1)) //

此揹包集合不符合條件

if (packet(weight - g_value[mount - 1], mount - 1)) //

判斷是否 weight[mount - 1]是否包含在最後的揹包集合中

else

}int

main()

if(packet(weight, mount))

else

}return0;

}

簡單揹包問題

設有乙個揹包可以放入的物品重量為s,現有n件物品,重量分別是w1,w2,w3,wn。問能否從這n件物品中選擇若干件放入揹包中,使得放入的重量之和正好為s。如果有滿足條件的選擇,則此揹包有解,否則此揹包問題無解。input 輸入資料有多行,包括放入的物品重量為s,物品的件數n,以及每件物品的重量 輸入...

簡單揹包問題

有乙個容量為v的揹包,從n件物品中選擇一些放入揹包中,每件物品的重量為w i 為v i 怎麼選擇合適的物品使得揹包內物品的總價值最大.這個問題中每個物品可供選擇的次數是0或1.即簡單揹包問題.若可選擇次數為n n為乙個有效的數字 則稱之為有界揹包問題.若可選擇次數無限,則稱之為無界揹包問題.所有的揹...

簡單0 1揹包問題

有乙個揹包能裝的重量maxw 正整數,0 maxw 20000 同時有n件物品 0 n 100 每件物品有乙個重量wi 正整數 和乙個價值pi 正整數 要求從這n件物品中任取若干件裝入揹包內,使揹包的物品價值最大。第1行 揹包最大載重maxv,物品總數n 第2行到第n 1行 每個物品的重量和價值 乙...