| Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
|---|---|---|---|---|---|---|---|---|---|
| 143007 | jiayou | 简单背包问题 | C++ | Wrong Answer | 40 | 0 MS | 252 KB | 891 | 2024-04-11 14:26:38 |
#include <iostream> using namespace std; int n, item[1000],ans[1000],id; // item数组存储物品的重量 int s; bool search(int itemNum, int space) { if (space == 0) return true; // 终止条件 if (space < 0 || itemNum == 0) return false; // 终止条件 if (search(itemNum - 1,space -item[itemNum])) { // 装物品itemNum,尝试装物品itemNum-1,成功返回true ans[++id] = item[itemNum]; return true; } if (search(itemNum - 1,space)) { // 不装物品itemNum,尝试装物品itemNum-1,成功返回true return true; } return false; } int main() { cin >> s >> n; for (int i = 1; i <= n; i++) cin >> item[i]; if (!search(n, s)) // 返回false代表没有找到合适的方案 cout << "not found"; else{ for(int i = 1;i <= id;i++){ cout << ans[i] << endl; } } return 0; }