1 solutions
-
0
C++ :
#include<iostream> #include<string> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> using namespace std; bool vis[25]; int ans,n,a[25]; void dfs(int l,int sum) { if(sum==40) {ans++;return ;} if(l>=n || sum>40) return ; if(!vis[l]) { vis[l]=true; dfs(l+1,sum+a[l]); vis[l]=false; dfs(l+1,sum); } } int main() { while(cin>>n) { //FILE *f=fopen("输出.txt","a+"); //cout<<n<<endl; for(int i=0;i<n;i++) cin>>a[i]; ans=0; fill(vis,vis+25,false); dfs(0,0); //fprintf(f,"%d\n",ans); cout<<ans<<endl; //fclose(f); } return 0; }
- 1
Information
- ID
- 17507
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By