P1036求调
  • 板块学术版
  • 楼主pfrig729
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/8/27 21:22
  • 上次更新2023/11/3 00:49:31
查看原帖
P1036求调
730178
pfrig729楼主2023/8/27 21:22

rt,33分

#include<bits/stdc++.h>
using namespace std;
int n,k,a[30];
long long ans;
bool _(int x)
{
	if(x==2) return 1;
	if(x<=1||x%2==0) return 0;
	for(int i=3;i*i<=x;i++)
	{
		if(x%i==0)
			return 0;
	}
	return 1;
}
void __(int x,int y,int z)
{
	if(x==k)
	{
		if(_(y))
			ans++;
		return;
	}
	for(int i=z;i<=n;i++)
		__(x+1,y+a[i],i+1);
}
int main()
{
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++)
    	scanf("%d",&a[i]);
    __(0,0,0);
    printf("%lld",ans);
    return 0;
}
2023/8/27 21:22
加载中...