1 条题解
-
012209水宇辰 (12209水宇辰) LV 9 @ 2021-12-16 20:48:08
#include<iostream> #include<iomanip> #include<cmath> #include<bits/stdc++.h> #include<cstdio> #include<stdio.h> int num[21], n, k, book[21], tag[21], ans; int prime(int x) { int i, t; t = sqrt(x); for(i = 2; i <= t; i++) { if(x % i == 0) break; } if(i == t + 1) return 1; else return 0; } void dfs(int step, int last) { int i; if(step == k + 1) { int sum = 0; for(i = 1; i <= k; i++) { sum += num[tag[i]]; } if(prime(sum)) { ans++; } return; } for(i = last; i <= n; i++) { if(book[i] == 1) continue; book[i] = 1; tag[step] = i; dfs(step + 1, i); book[i] = 0; } } int main() { int i; scanf("%d%d", &n, &k); for(i = 1; i <= n; i++) { scanf("%d", &num[i]); } dfs(1, 1); printf("%d\n", ans); return 0; }
- 1
信息
- ID
- 1017
- 难度
- 4
- 分类
- (无)
- 标签
- 递交数
- 39
- 已通过
- 18
- 通过率
- 46%
- 被复制
- 5
- 上传者