无
2023-09-08 20:52:16
发布于:广东
47阅读
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){//到depth,选取了x,重量为w
if(ws){
for(int i=1;i<=x;i++){
cout<<ans[i]<<" ";
flag=true;
}
return;
} else{
if(w>s||depth>n||flagtrue) 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!";
}
全部评论 1
。
2023-09-08 来自 广东
0
有帮助,赞一个