32分求条
查看原帖
32分求条
1526758
HFLS__Bobby楼主2025/1/18 13:47

前两个测试点A了。

#include<bits/stdc++.h> 
using namespace std;
#define rep(i,a,b) for (int i=a;i<=b;i++)
int n,k,ans=0;
int a[50];
bool isprime(int x)
{
	if (x==1) return false;
	for (int i=2;i<x;i++)
	{
		if (x%i==0) return false;
	}
	return true;
}

int main ()
{
//	cout<<isprime(6);
//	
//	return 0;
	cin>>n>>k;
	for (int i=0;i<n;i++)
		cin>>a[i];
			
	int u=1<<n;
	for (int s=0;s<u;s++)
	{
//		cout<<s<<endl;
		int cnt=0,sum=0;
		for (int i=0;i<n;i++)
		{
			if (s &(1<<i))
				cnt++;
				sum+=a[i];
//				printf("%d %d\n",i,a[i]);
		}
		if (cnt==k)
		{
//			cout<<s<<endl;
			if (cnt==k && isprime(sum)==1)
				ans++;
		}
	}
	cout<<ans<<endl;
	
	return 0;
}
2025/1/18 13:47
加载中...