蒟蒻16pts求调
查看原帖
蒟蒻16pts求调
1033068
huyiming11楼主2024/7/22 11:57
#include<iostream>
using namespace std;
int n,k,a[114],s;
bool b[114];
bool zs(int p){
	if(p==1||p==2) return 1;
	for(int i=2;i<=p/2+1;i++){
		if(p%i==0){
			return 0;
		}
	}
	return 1;
}
void dfs(int xuan,int sum,int num){
	if(num==k){
		if(zs(sum)){
			s++;
		}
		return;
	}
	for(int i=xuan;i<=n;i++){
		if(!b[i]){
			b[i]=1;
//			cout<<i<<' ';
			dfs(xuan+1,sum+a[i],num+1);
			b[i]=0;
		}
	}
//	cout<<endl;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	dfs(1,0,0);
	cout<<s;
	return 0;
}
2024/7/22 11:57
加载中...