Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
141965 | 江婉儿 | 简单背包问题 | C++ | 解答错误 | 20 | 0 MS | 252 KB | 501 | 2024-04-06 15:16:14 |
#include<bits/stdc++.h> using namespace std; int s,n,w[35]; bool used[35]; bool a(int m) { if(m==0)return 1; else { for(int i=n;i>=1;i--) { if(w[i]<=m&&used[i]==0) { used[i]=1; if(a(m-w[i]))return 1; used[i]=0; } } return 0; } } int main() { cin>>s>>n; for(int i=1;i<=n;i++)cin>>w[i]; sort(w+1,w+1+n); if(a(s)) { for(int i=1;i<=n;i++) if(used[i])cout<<i<<endl; } else cout<<"Failed!"; return 0; }