0分求助
查看原帖
0分求助
955954
Miracle_InDream楼主2023/9/24 14:31
#include<bits/stdc++.h>
using namespace std;
int m,r,n,ans=0,b=0;
int a[35],vis[35]={0};
void dfs(int d,int c)
{
	if(d==0)
	{
		b++;
		return;
	}
	for(int i=c;i<m;i++)
	{
		if(ans+a[i]<=n&&vis[i]==0)
		{
			ans+=a[i];
			vis[i]=1;
			dfs(d-1,i);
			vis[i]=0;
			ans-=a[i];
		}
	}
}
int main()
{
	cin>>m>>r>>n;
	for(int i=0;i<m;i++)
	{
		cin>>a[i];
	}
	dfs(r,0);
	cout<<b;
	return 0;
}
2023/9/24 14:31
加载中...