题目描述 Description

已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:
    3+7+12=22  3+7+19=29  7+12+19=38  3+12+19=34。
  现在,要求你计算出和为素数共有多少种。
  例如上例,只有一种的和为素数:3+7+19=29)。

输入描述 Input Description

 键盘输入,格式为:
  n , k (1<=n<=20,k<n)
  x1,x2,…,xn (1<=xi<=5000000)

输出描述 Output Description

屏幕输出,格式为:
  一个整数(满足条件的种数)。

样例输入 Sample Input

4 3
3 7 12 19

样例输出 Sample Output

1

数据范围及提示 Data Size & Hint

(1<=n<=20,k<n)
(1<=xi<=5000000)

有技巧的深搜加素數判斷。

代碼實現:

 1 #include<cstdio>
 2 using namespace std;
 3 int n,k,ans,s[30];
 4 bool v[30010];
 5 void dfs(int x,int y,int z){
 6     if(y==k){
 7         if(!z||z==1||((z%2==0)&&z!=2)) return;
 8         for(int i=3;i*i<=z;i+=2)
 9         if(z%i==0) return;
10         ans++;return;
11     }
12     for(int i=1;i<=n;i++){
13         if(!v[i]&&i>x){
14             v[i]=1;
15             dfs(i,y+1,z+s[i]);
16             v[i]=0;
17         }
18     }
19 }
20 int main(){
21     scanf("%d%d",&n,&k);
22     for(int i=1;i<=n;i++) scanf("%d",&s[i]);
23     dfs(0,0,0);
24     printf("%d\n",ans);
25     return 0;
26 }

View Code

不大會來著。

转载于:https://www.cnblogs.com/J-william/p/6068407.html

选数 2002年NOIP全国联赛普及组相关推荐

  1. 1009 产生数 2002年NOIP全国联赛普及组

    009 产生数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给出一个整数 n(n<10^ ...

  2. Codevs 1010 过河卒 2002年NOIP全国联赛普及组

    1010 过河卒 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 如图,A 点有一个过河卒 ...

  3. 【2002年NOIP全国联赛普及组】过河卒

    描述 棋盘上 A 点有一个过河卒,需要走到目标 B 点.卒行走的规则:可以向下.或者向右.同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为" ...

  4. 【codevs 1315】1315 摆花2012年NOIP全国联赛普及组(dp)

    1315 摆花2012年NOIP全国联赛普及组  时间限制: 1 s   空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description     小明的花店新开张,为 ...

  5. 1316 文化之旅 2012年NOIP全国联赛普及组

    1316 文化之旅 2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 有一位使者要游历各国,他每到一 ...

  6. 1313 质因数分解 2012年NOIP全国联赛普及组

    1313 质因数分解 2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 已知正整数 n是两个不同 ...

  7. 1099 字串变换 2002年NOIP全国联赛提高组

    1099 字串变换 2002年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 Description 已知有两个字串 A ...

  8. [2000年NOIP全国联赛普及组] 1019 单词接龙

    [2000年NOIP全国联赛普及组] 1019: 单词接龙 题目链接:http://129.211.20.246/problem.php?id=1019 题目描述 单词接龙是一个与我们经常玩的成语接龙 ...

  9. codevs 1043 方格取数 2000年NOIP全国联赛提高组

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而 ...

最新文章

  1. 计算机电路门,7.3 门电路计算机操作系统原理.pdf
  2. DevOps笔记-07:持续集成,持续交付,持续部署之间的区别
  3. WordCount by C# 结对编程
  4. java优先队列PriorityQueue修改队列内元素排序问题
  5. 【今晚7点半】:GVoice 千万在线语音传输的那些事
  6. Zookeeper实践与应用-- Nginx负载均衡差异
  7. python脚本编程100例_python100例,python经典例题
  8. VM虚拟机上的CentOS 7系统重置root用户密码
  9. 计算机彻底删除删除后如何恢复,如何完全恢复从计算机删除的文件?
  10. 无法安装操作系统,An unexpected error(0) occurred at line 1768 in f:\nt2\base\boot\setup\arcdisp.c....
  11. python绘制国际象棋_python使用turtle绘制国际象棋棋盘
  12. 用mapreduce 处理气象数据集
  13. Web开发——问题:js/css文件修改提交后,没有效果
  14. 劳易测BPS300i SM 100条码定位
  15. 万物并作,吾以观复|OceanBase 政企行业实践
  16. Excel VBA小程序03-快速提取单元格中的数字和非数字
  17. Python: 第三方模块(modules)的安装位置 (2014-08-24 23:19:18)转载▼ 标签: site-packages dist-packages 默认安装目录 分类: Pyth
  18. Linux svn checkout命令使用示例
  19. 产业护航 湾区共振!11月30日飞桨携手生态伙伴带来企业智能化升级的新思路...
  20. 阿里云云计算的类型和特点

热门文章

  1. jstorm mysql_Jstorm+Spring+mybatis整合
  2. 金融危机下如何获得工作和跳槽机会-网络系统工程师的最终归宿(二)
  3. 我想批量删除专题内最古老的100篇文章
  4. [网址链接]格林童话故事的原始素材
  5. 如何使用GDAL进行AOI裁剪
  6. Unity直接导出Android Apk包环境配置
  7. addEventListener事件监听传递参数
  8. Silverlight实现强壮、可复用的拖放行为
  9. iocp三层架构服务器模型
  10. python定义常量