欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

POJ-2755 魔法口袋

最编程 2024-03-31 12:36:04
...
1 #include <stdio.h>
2 int n,ans=0,type[20];
3 bool choose[20];
4
5 void dfs(int);
6 int sum();
7
8 int main()
9 {
10 int i;
11 scanf("%d",&n);
12 for(i=0;i<n;i++)
13 scanf("%d",&type[i]);
14 dfs(0);
15 printf("%d\n",ans);
16 return 0;
17 }
18
19 void dfs(int b)
20 {
21 if(b==n)
22 {
23 if(sum()==40)
24 ans++;
25 return;
26 }
27 else
28 {
29 choose[b]=false;
30 dfs(b+1);
31 choose[b]=true;
32 dfs(b+1);
33 }
34 }
35
36 int sum()
37 {
38 int i,s=0;
39 for(i=0;i<n;i++)
40 if(choose[i])
41 s+=type[i];
42 return s;
43 }