题解
2023-03-22 08:10:09
发布于:上海
117阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[105];
int ans[105];
int n,s,t;
bool flag=false;
void dfs(int depth,int x,int w){
if(w==s){
for(int i=1;i<=x;i++){
cout<<ans[i]<<" ";
flag=true;
}
return;
} else{
if(w>s||depth>n||flag==true) return ;
ans[x+1]=a[depth];
dfs(depth+1,x+1,w+a[depth]);
dfs(depth+1,x,w);
}
}
int main(){
cin>>n>>s;
for(int i=1;i<=n;i++){
cin>>a[i];
}
dfs(1,0,0);
if(flag==0) cout<<"No Answer!";
}
这里空空如也
有帮助,赞一个