33分1、5AC,其余WA
查看原帖
33分1、5AC,其余WA
960236
wchhhh楼主2023/12/4 20:36

***看的快吐血了也没看出哪儿错[崩溃.png]

#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x) {
    for (int i = 2; i * i <= x; ++i)
        if (x % i == 0) return false;
    return true;
}
int n, k;
int a[25];
long long ans;
void dfs(int m, int sum, int starts){
    if(m == k) {
        if (isPrime(sum))
            ans++;
        return ;
    }
    for(int i = starts; i < n; i++){
        dfs(m + 1, sum + a[i], i + 1);
    }
    return ;
}
int main(){
    scanf("%d%d", &n, &k);
    for(int i = 0; i < k ; i++) cin >> a[i];
    dfs(0, 0, 0);
    printf("%d\n", ans);
    return 0;
}
2023/12/4 20:36
加载中...