0
已解决
高子健
新手天翼
新手天翼
- #include<iostream>
- #include<cstdio>
- using namespace std;
- int n,c,wi[110],used[110],ans,flag;
- void dfs(int step,int w)
- {
- if(w>c||flag)
- return ;
- if(w == c)
- {
- flag = 1;
- ans = c;
- return ;
- }
- for(int i = step;i <= n;i++)
- {
- if(!used[i])
- {
- used[i] = 1;
- w += wi[i];
- dfs(step+1,w);
- w -= wi[i];
- used[i] = 0;
- if(w > ans)
- ans=w;
- }
- }
- }
- int main()
- {
- cin>>n>>c;
- for(int i = 1;i <= n;i++)
- cin>>wi[i];
- dfs(1,0);
- cout<<ans;
- return 0;
- }
高子健在2020-12-11 07:07:28追加了内容
艹没人
有没有人看过
样例。。。