40分求助
查看原帖
40分求助
512587
Konnyaku_q楼主2023/5/16 17:21

老师讲了100分做法,但没懂,故发此贴

#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#include<queue>
#include<algorithm>
using namespace std;
long long e,n,m,a[1000],ans=0;
void dfs(long long idx,long double s)
{
	if(s>m)
	{
		return;
	}
	if(idx>n)
	{
		ans++;
		return;
	}
	dfs(idx+1,s);
	dfs(idx+1,s+a[idx]) ;
 }  
int main()
{

 cin>>n>>m;
 for(int i=1;i<=n;i++)
 {
 	cin>>a[i];
 }
 dfs(1,0);
 cout<<ans<<endl;

}


2023/5/16 17:21
加载中...