1 solutions

  • 1
    @ 2025-8-18 17:02:26
    #include <bits/stdc++.h>
    using namespace std;
    bool vis[1005];
    int n,a[31],ans;
    void dfs(int deepseek,int deekseep);
    int main(){
    	scanf("%d",&n);
    	for(int i = 1;i<=n;i++)scanf("%d",&a[i]);
    	dfs(1,0);
    	for(int i = 1;i<=1000;i++)
    		if(vis[i])ans++;
    	printf("%d",ans+1);
    	return 0;
    }
    void dfs(int deepseek,int deekseep){
    	if(deepseek>n){
    		vis[deekseep] = true;
    		return ;
    	}
    	dfs(deepseek+1,deekseep+a[deepseek]);
    	dfs(deepseek+1,deekseep);
    }
    

    Information

    ID
    710
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    9
    Tags
    (None)
    # Submissions
    14
    Accepted
    5
    Uploaded By