描述需對容量為c 的揹包進行裝載。從n 個物品中選取裝入揹包的物品,每件物品i 的重量為wi ,價值為pi 。對於可行的揹包裝載,揹包中物品的總重量不能超過揹包的容量,最佳裝載是指所裝入的物品價值最高。
輸入多個測例,每個測例的輸入佔三行。第一行兩個整數:n(n<=10)和c,第二行n個整數分別是w1到wn,第三行n個整數分別是p1到pn。
n 和 c 都等於零標誌輸入結束。
輸出每個測例的輸出佔一行,輸出乙個整數,即最佳裝載的總價值。
輸入樣例
1 21
12 3
2 23 4
0 0輸出樣例14
#include
#include
#define n 10000
void
dfs(
int m)
;void
checkmax()
;using
namespace std;
int best,n,c;
int a[n]
,w[n]
,p[n]
;int
main()
return0;
}void
dfs(
int m)
}void
checkmax()
//檢查當前價值是否為最大值}if
(value>best&&weigh<=c) best=value;
}//已經在noj上測試並且通過
NWPU演算法考試複習 裝載問題
描述 有兩艘船,載重量分別是c1 c2,n個貨櫃,重量是wi i 1 n 且所有貨櫃的總重量不超過c1 c2。確定是否有可能將所有貨櫃全部裝入兩艘船。輸入多個測例,每個測例的輸入佔兩行。第一行一次是c1 c2和n n 10 第二行n個整數表示wi i 1 n n等於0標誌輸入結束。輸出對於每個測例在...
NWPU演算法考試複習 窮舉所有排列
描述 輸入乙個小於10的正整數n,按把每個元素都交換到最前面一次的方法,輸出前n個小寫字母的所有排列。輸入輸入乙個小於10的正整數n。輸出按把每個元素都交換到最前面一次的方法,輸出前n個小寫字母的所有排列。輸入樣例 3輸出樣例 abcacb bacbca cbacab include 這題也是乙個簡...
NWPU演算法考試複習 二分查詢
描述 給定乙個單調遞增的整數序列,問某個整數是否在序列中。輸入第一行為乙個整數n,表示序列中整數的個數 第二行為n n不超過10000 個整數 第三行為乙個整數m m不超過50000 表示查詢的個數 接下來m行每行乙個整數k。輸出每個查詢的輸出佔一行,如果k在序列中,輸出yes,否則輸出no。輸入樣...