description
有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a
1,a
2……a
n。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,john就可以得到這些物品。現在的問題是,john有多少種不同的選擇物品的方式。
input
輸入的第一行是正整數n (1 <= n <= 20),表示不同的物品的數目。接下來的n行,每行有乙個1到40之間的正整數,分別給出a
1,a
2……a
n的值。
output
輸出不同的選擇物品的方式的數目。
sample input
32020
20
sample output
3
狀態壓縮:
#include#include#includeusing namespace std;
int a[30];
int main()
dfs(index+1,cnt);
dfs(index+1,cnt+a[index]);
}int main()
{ scanf("%d",&n);
for(int i=0;i
生理週期 OpenJ Bailian 4148
標籤 空格分隔 演算法競賽 生理週期 openj bailian 4148 人生來就有三個生理週期,分別為體力週期 感情週期和智力週期,它們的週期長度分別為23天 28天和33天。每乙個週期中有一天是高峰。在高峰這天,人會在相應的方面表現出色。例如,在智力週期的高峰,人會思維敏捷,注意力容易高度集中...
OpenJ Bailian 4116 拯救公主
公主被惡人抓走,被關押在牢房的某個地方。牢房用n m n,m 200 的矩陣來表示。矩陣中的每項可以代表道路 牆壁 和守衛 x 英勇的騎士 r 決定孤身一人去拯救公主 a 我們假設拯救成功的表示是 騎士到達了公主所在的位置 由於在通往公主所在位置的道路中可能遇到守衛,騎士一旦遇到守衛,必須殺死守衛才...
數制轉換 OpenJ Bailian 2710
求任意兩個不同進製非負整數的轉換 2進製 16進製制 所給整數在long所能表達的範圍之內。不同進製的表示符號為 0,1,9,a,b,f 或者 0,1,9,a,b,f 輸入只有一行,包含三個整數a,n,b。a表示其後的n 是a進製整數,b表示欲將a進製整數n轉換成b進製整數。a,b是十進位制整數,2...