Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
143246 | jiayou | 简单背包问题 | C++ | 解答错误 | 80 | 0 MS | 264 KB | 633 | 2024-04-13 16:37:48 |
#include<iostream> using namespace std; int w[1001],ans[1001],id,s,n; void dfs(int num,int weight){//已经遍历num个物品,当前背包重量weight if(num == n){ if(weight == s){ for(int i = 1;i <= id;i++){ cout << ans[i] << endl; } exit(0); } return ; } if(weight>s) return ; ans[++id] = w[num+1]; dfs(num+1,weight+w[num+1]); id--; dfs(num+1,weight); } int main(){ cin >> s >> n; for(int i = 1;i <= n;i++){ cin >> w[i]; } dfs(0,0); cout << "Failed!"; return 0; }