问题标题: 酷町堂:1049 1个点TEL

0
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追加了内容

艹没人

有没有人看过

样例。。。


0
已采纳
侯平仄
侯平仄
新手天翼
新手天翼

爆搜时间复杂度O(2^n) ,n<=40 不炸飞我倒立akioi

0
0
0
0
0
我要回答