满江红
查看原帖
满江红
1073741
UKE_bound楼主2024/1/24 08:39
#include<bits/stdc++.h>
using namespace std;
int n,k,al,s[20],an;
bool b[20];
bool ip(int a){
	if(a==1)return 0;
	for(int i=2;i*i<=a;i++){
		if(a%i==0){
			return 0;
		}
	}
	return 1;
}
void dfs(int st){
	if(st==k&&ip(al)){
		an++;
	}else{
		for(int i=0;i<n;i++){
			if(b[i])continue;
			al+=s[i];
			b[i]=1;
			st++;
			dfs(st);
			st--;
			b[i]=0;
			al-=s[i];
		}
	}
}
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
    	cin>>s[i];
	}
    dfs(0);
    cout<<an;
	return 0;
}

WA记录

2024/1/24 08:39
加载中...