Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
141900 | 冼俊烨 | 简单背包问题 | C++ | 解答错误 | 0 | 0 MS | 260 KB | 864 | 2024-04-06 14:37:06 |
#include<iostream> using namespace std; int n, item[1000]; //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 cout<<"number:"<<itemNum<<" weight:"<<item[itemNum]<<endl; return true; } if(search(itemNum-1, space)){ //不装物品itemNum,尝试装物品itemNum-1,成功返回true return true; } return false; } int main(){ cin>>n>>s; for(int i=1; i<=n; i++) cin>>item[i]; if(!search(n, s)) //返回false代表没有找到合适的方案 cout<<"not found"; return 0; }