这个为什么错QwQ
查看原帖
这个为什么错QwQ
702822
Colas_miao_楼主2022/8/1 16:46
#include<bits/stdc++.h>
using namespace std;
const int N=25;
int n,a[N],s=0,p[N],t;
bool check(int a)
{
	if(a<=1) return false;
	for(int i=2;i<=a-1;i++)
	if(a%i==0) return false;
	return true;
}
void dfs(int k,int ans)
{
	if(k==t+1)
	{
		if(check(ans)==1)
		s++;
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(p[i]==0)
		{
			p[i]=1;
			dfs(k+1,ans+a[i]);
			p[i]=0;
		}
	}
}
int main()
{
	cin>>n>>t;
	for(int i=1;i<=n;i++) cin>>a[i];
	dfs(1,0);
	cout<<s;
	return 0;
}
2022/8/1 16:46
加载中...