問題 C 神奇的口袋

2021-10-21 21:33:46 字數 699 閱讀 3375

有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2……an。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,john就可以得到這些物品。現在的問題是,john有多少種不同的選擇物品的方式。

輸入的第一行是正整數n (1 <= n <= 20),表示不同的物品的數目。接下來的n行,每行有乙個1到40之間的正整數,分別給出a1,a2……an的值。

輸出不同的選擇物品的方式的數目。

2

1228321

105

1

0

#includeusing namespace std;

int a[21];

int ans=0;

//x表示總量,n表示個數,t表示當前處理哪乙個

void dfs(int x,int n,int t)

if(x<0) return;

if(t>=n) return;

//每乙個物品,都有選擇或者不選兩種狀態。

dfs(x-a[t],n,t+1);

dfs(x,n,t+1);

}int main()

return 0;

}

問題 C 神奇的口袋

題目描述 有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2 an。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,john就可以得到這些物品。現在的問題是...

問題 C 神奇的口袋

有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2 an。john可以從這些物品中選擇一些,如果選出的物體的總體積是40,那麼利用這個神奇的口袋,john就可以得到這些物品。現在的問題是,john...

問題 C 神奇的口袋

問題 c 神奇的口袋 命題人 外部匯入 時間限制 1.000 sec 記憶體限制 32 mb 解決 1034提交 2292統計 題目描述 有乙個神奇的口袋,總的容積是40,用這個口袋可以變出一些物品,這些物品的總體積必須是40。john現在有n個想要得到的物品,每個物品的體積分別是a1,a2 an。...