蒟蒻求助
查看原帖
蒟蒻求助
663693
chenjieyang楼主2022/8/29 14:44
#include<iostream>
#include<string>
#include<iomanip>
#include<algorithm>
#include<cmath>
#define rep(i,a,b) for(ull i=a;i<=b;i++)
#define ull unsigned long long
using namespace std;
ull a[30]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
ull x[30],n,k,cnt,b[30],sum;
bool cheak(ull n){
    if(n==0||n==1)return false;
    for(ull i=2;i*i<=n;i++){
        if(n%i==0)return false;
    }
    return true;
}
bool kkk(){
    for(int i=1;i<=k;i++){
        if(a[i]!=b[i]){
            return true;
        }
    }
    return false;
}
int main(){
    cin>>n>>k;
    for(ull i=1;i<=n;i++)cin>>x[i];
    do{
        sum=0;
        for(ull i=1;i<=k;i++){
            sum+=x[a[i]];
        }
        if(cheak(sum)&&kkk()){
            cnt++;
        }
        for(int i=1;i<=k;i++)b[i]=a[i];
    }while(next_permutation(a+1,a+n+1));
    cout<<cnt;
    return 0;
}
2022/8/29 14:44
加载中...