2216. 红军交通员

1000ms 512MB 简单 深度优先搜索
题目描述

1939年初,新四军驻皖南部队接到紧急命令:必须尽快将一份重要情报送往江北指挥部。
地下交通站有 n 名地下交通员,他们分别负责不同方向的联络任务。每名交通员都有一个代号,对应一个整数:x₁,x₂,…,xₙ。

情报交接规则规定:每次行动必须派出 k 名交通员(k < n),他们的代号之和必须是一个素数(只有 1 和它本身两个因子的数),这样才能打开密码锁,成功交接情报。
问题:交通站站长有多少种不同的选人方案,使得选中的 k 名交通员的代号之和为素数?

输入格式

第一行两个空格隔开的整数 n,k。
第二行 n 个整数,分别为 x₁,x₂,…,xₙ(1 ≤ xᵢ ≤ 10⁴)。

输出格式

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

样例 1
输入 (Input)
4 3
3 7 12 19
输出 (Output)
1
样例 2
输入 (Input)
5 3
2 4 6 8 10
输出 (Output)
0
样例说明

【样例1说明】
n = 4, k = 3,4个交通员代号分别为 3,7,12,19,考虑所有可能的组合及其代号之和:
3 + 7 + 12 = 22(合数)、3 + 7 + 19 = 29(素数)、3 + 12 + 19 = 34(合数)、7 + 12 + 19 = 38(合数),仅1种合法方案。

自测终端 stdin → stdout
输入 stdin
CtrlShiftEnter
输出 stdout

                
错误 stderr

                
CtrlEnter提交
自动保存已开启
操作成功
wzs_oj@kernel:~ — wzs-sh
guest@wzsoj:~$
刷新页面 F5
复制 Ctrl+C
粘贴 Ctrl+V
搜索题目
站点公告
今日神谕
CSP 倒计时
排行榜
我的提交
Esc 关闭 Enter 跳转 支持模糊匹配数字