为什么没过样例。。。。。。
查看原帖
为什么没过样例。。。。。。
955954
Miracle_InDream楼主2023/11/11 00:24
#include<bits/stdc++.h>
using namespace std;
int n,k;
long long x[25],vis[25],ans=0;
long long sum=0;
void dfs(int step)
{
	if(step==k)
	{
		for(long long i=2;i<ans;i++)
		{
			if(ans%i==0)
				return;
		}
		sum++;
		return;
	}
	for(int i=0;i<n;i++)
	{
		if(vis[i]==0)
		{
			ans+=x[i];
			vis[i]=1;
			dfs(step+1);
			ans-=x[i];
			vis[i]=0;
		}
	} 
}
int main()
{
	cin>>n>>k;
	memset(vis,0,sizeof(vis));
	for(int i=0;i<n;i++)
	{
		cin>>x[i];
	}
	dfs(1);
	cout<<sum;
	return 0;
}
2023/11/11 00:24
加载中...