【无标题】P1036 选数

题目描述 已知 nn 个整数 x_1,x_2,\cdots,x_nx1​,x2​,⋯,xn​,以及 11 个整数 kk(k 3+7+12=223+7+12=

题目描述

已知 nn 个整数 x_1,x_2,\cdots,x_nx1​,x2​,⋯,xn​,以及 11 个整数 kk(k

3+7+12=223+7+12=22

3+7+19=293+7+19=29

7+12+19=387+12+19=38

3+12+19=343+12+19=34

现在,要求你计算出和为素数共有多少种。

例如上例,只有一种的和为素数:3+7+19=293+7+19=29。

输入格式

第一行两个空格隔开的整数 n,kn,k(1 \le n \le 201≤n≤20,k

第二行 nn 个整数,分别为 x_1,x_2,\cdots,x_nx1​,x2​,⋯,xn​(1 \le x_i \le 5\times 10^61≤xi​≤5×106)。

输出格式

输出一个整数,表示种类数。

输入输出样例

输入 #1复制

4 3
3 7 12 19

输出 #1复制

1

说明/提示

【题目来源】

NOIP 2002 普及组第二题

#include
using namespace std;
typedef long long ll;         //fuck u  dfs 
ll a[21];
int n,k;
int toal;
int issushu(int x)
{for(int i=2;i<=sqrt(x);i++){if(x%i==0){return 0;}}return 1;
}
void dfs(int start,int sum,int num)
{if(num==k){if(issushu(num)==1){toal++;}return ;}for(int i=start;i>n>>k;for(int i=0;i>a[i];}dfs(0,0,0);cout<