Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
141966 方文轩 简单背包问题 C++ 解答错误 0 1 MS 268 KB 456 2024-04-06 15:18:15

Tests(0/5):


#include<bits/stdc++.h> using namespace std; bool cmp(int x,int y){ return x>y; } int w[1005],s[1005],x,m,l[1005]; int print(int p){ for(int i=p;i>=1;i--){ cout<<l[i]<<" "; } } int se(int n,int k,int cnt){ if(w[n]>k||n>m) return 0; se(n+1,k,cnt); l[cnt]=w[n]; k-=w[n]; if(k==0) print(cnt); else se(n+1,k,cnt+1); k+=w[n]; } int main(){ cin>>m>>x; for(int i=1;i<=x;i++) cin>>w[i]; sort(w+1,w+x+1,cmp); se(1,x,1); }


测评信息: