Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
143030 王容宇 简单背包问题 C++ 通过 100 0 MS 240 KB 665 2024-04-11 21:01:24

Tests(5/5):


#include <bits/stdc++.h> using namespace std; int n, m; int a[40]; bool b2[40]; bool b = false; int maxn = 0; void dfs(int x, int sum) { if(b || sum>n) { return; } if(x==m+1) { if(sum==n) { for(int i = 1; i<=m; i++) { if(b2[i]) { cout << a[i] << endl; } } b=true; } return; } if(a[x]>=maxn) { int o = maxn; b2[x]=true; maxn=a[x]; dfs(x+1, sum+a[x]); maxn=o; b2[x]=false; } dfs(x+1, sum); } int main() { cin >> n >> m; for(int i = 1; i<=m; i++) { cin >> a[i]; } dfs(1, 0); if(b==false) { cout << "Failed!" << endl; } }


测评信息: