样例都没过!大佬help!
查看原帖
样例都没过!大佬help!
583126
CKAO楼主2022/2/16 20:43
#include<iostream>
#include<cstring>
using namespace std;
int a[21], b[21], ans = 0;
bool st[21];
int n, k;
bool prime(int x)
{
	for (int i = 2; i <= x / i; i++)
		if (x % i == 0)
			return false;
	return true;
}
void dfs(int u)
{
	if (u == k)
	{
		int sum = 0;
		for (int i = 0; i < u; i++)
			sum += b[i];
		if (prime(sum))
			ans++;
	}
	for (int i = 0; i < n; i++)
	{
		if (!st[i])
		{
			b[u] = a[i];
			st[i] = true;
			dfs(u + 1);
			st[i] = false;
		}

	}
}
int main()
{
	cin >> n >> k;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	dfs(0);
	cout << ans;
	return 0;
}
2022/2/16 20:43
加载中...