提交时间:2024-04-14 11:32:47
运行 ID: 143385
#include<iostream> using namespace std; int n,s,id; int a[33],ans[33]; void dfs(int num,int ss){ if(num==n){ if(ss==s){ for(int i=1;i<=id;i++){ cout<<ans[i]<<endl; } exit(0); } else return ; } if(ss>s){ return ; } ans[++id]=a[num+1]; dfs(num+1,ss+a[num+1]); id--; dfs(num+1,ss); return ; } int main(){ cin>>s>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } dfs(0,0); cout<<"Failed"<<endl; return 0; }