dfs写法90分求助
  • 板块P1164 小A点菜
  • 楼主jkary
  • 当前回复11
  • 已保存回复11
  • 发布时间2023/7/24 20:48
  • 上次更新2023/11/3 07:50:39
查看原帖
dfs写法90分求助
933230
jkary楼主2023/7/24 20:48
#include<bits/stdc++.h>
using namespace std;
int n,w[2344],tt,ans[1000],sum,m;
void dfs(int x)
{
	if(x>n)
	{
		if(sum==m)
		{
			tt++;
		}
		return ;
	} 
	if(sum+w[x]<=m)
	{
		ans[x]=1;
		sum+=w[x];
		dfs(x+1);
		
		ans[x]=0;
		sum-=w[x];
		dfs(x+1);
	}
	else
	{
		ans[x]=0;
		dfs(x+1);
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>w[i];
	}
	dfs(1);
	cout<<tt;
} 
2023/7/24 20:48
加载中...