CodeVS1008 选数 题解
来源:互联网 发布:端口号对应的协议 编辑:程序博客网 时间:2024/06/06 01:15
#include <cstdio>#include <algorithm>using namespace std;int N, K;int num[20+2];bool flag[20+2];int ans[20+2];int cnt;bool cmp(int a, int b){ return a<b;}bool IsPrime(int n){ if(n<2) return false; if(n==2 || n==3) return true; if(n%2==0 || n%3==0) return false; for(int i=5, d=4; i*i<=n; i+=d^=6){ if(n%i==0) return false; } return true;}void Array(int n, int p){ if(n>K){ int tmp = 0; for(int i = 1; i<=K; ++i) tmp+=ans[i]; if(IsPrime(tmp)) ++cnt; return; } for(int i = p; i<N; ++i){ if(!flag[i]){ flag[i] = true; ans[n] = num[i]; Array(n+1, i); flag[i] = false; } }}int main(){ scanf("%d %d", &N, &K); for(int i = 0; i<N; ++i) scanf("%d", &num[i]); sort(num, num+N, cmp); Array(1, 0); printf("%d\n", cnt); return 0;}
阅读全文
0 0
- CodeVS1008 选数 题解
- 【基础练习】【搜索】codevs1008 选数题解
- 选数 codevs1008
- codevs1008选数
- codevs1008
- codevs1008深搜
- 【题解】洛谷1036 选数
- MSTC "数独" 题解
- 数石子题解
- [统计数对] 题解
- 水仙花数题解
- 数的读法-题解
- 数独题解
- 【BZOJ1026】windy数题解
- 组合数 题解
- 删数问题题解
- luogu1112 波浪数 题解
- 双倍数 题解
- 关于程设查重问题及应对策略
- 小辩《降薪求职,到底该不该?》
- 剑指offer,最小的K个数
- hdu 5322 Hope
- 【补】0622-0628
- CodeVS1008 选数 题解
- page指令
- Struts + Spring + Hibernate 坑点
- 食物链
- JAVA并发编程
- numpy中的tile函数
- 鼠标滑过显示图片+标题(小结)
- JSP-Scriptlet
- Android四大组件之广播