Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
130327 | 曾煦翔 | N皇后问题 | C++ | 解答错误 | 0 | 0 MS | 240 KB | 512 | 2024-01-28 16:30:49 |
#include <bits/stdc++.h> using namespace std; int a[25]; int n , m , cnt; bool isprime(int x) { for(int i = 2; i <= sqrt(x); i++) if(x % i == 0) return false; return true; } void dfs(int p, int sum, int lst) { if(p == m) { if(isprime(sum) == true) cnt++; } else { for(int i = lst; i <= n; i++) dfs(p + 1 , sum + a[i] ,i + 1); } } signed main() { cin >> n >> m; for(int i = 1; i <= n; i++) cin >> a[i]; dfs(0 , 0 , 1); cout << cnt << endl; return 0; }