p1036求助!!
  • 板块学术版
  • 楼主npc000
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/1/11 21:17
  • 上次更新2024/1/12 10:44:51
查看原帖
p1036求助!!
1234029
npc000楼主2024/1/11 21:17
#include<bits/stdc++.h>
#pragma optimize(3)
#pragma optimize(2)
using namespace std;
long long x,y,z,a[32769]={0},b[32],c[32769]={1},i=0,j=1,k=0,n,m,sum=0,num=0,r,t,s=0;
long long flag[32769]={0};
char ch,bb;
long double cc;
string aa; 
bool sushu(long long a)
{
	if(a==0||a==1)
	{
		return 0;
	}
	if(a==2)
	{
		return 1;
	}
	for(j=2;j<=sqrt(a);j++)
	{
		if(a%j==0)
		{
			return false;
		}
	}
	return true;
} 
void dfs(int i)
{
	if(i>k)
	{		
		for(int t=1;t<=k;t++)
			s+=a[t]; 
		if(sushu(s)==true)
		{
			sum++;
		}
		return; 
	}
	for(int j=c[i];j<=n;j++)
	{
		if(flag[b[j]]==0)
		{
			a[i]=b[j];
			c[i]=j;
			flag[b[j]]=1;
			dfs(i+1);
			flag[b[j]]=0;
		}
	}
	return;
}
int main()
{
	for(i=1;i<32769;i++)
	{
		c[i]=1;
	}
    cin>>n>>k;
    for(i=1;i<=n;i++)
    {
    	cin>>b[i];
	}
	dfs(1);
	cout<<sum;
	return 0;
}

rt,请各位神犇帮一下本蒟蒻谢谢!!悬棺

2024/1/11 21:17
加载中...