16分QAQ
查看原帖
16分QAQ
705879
him0715楼主2023/1/30 16:03
#include <bits/stdc++.h>
using namespace std;
int n,k,tim,ans,a[21];
bool ju(int x){
	for(int i=2;i<=sqrt(x);i++)if(x%i==0)return false;
	return true;
}
void dfs(int now,int les,int cnt){
	if(les==0){
		if(ju(cnt))ans++;
	    return;
	}
	for(int i=now;i<tim;i++){
		//cout<<i<<" ";
		dfs(i+1,les-1,cnt+a[i]);
	}
}
int main(){
	cin>>n>>k;
	for(int i=0;i<n;i++)cin>>a[i];
	tim=n-k+1;//cout<<tim<<endl;
	dfs(1,k,0);
	cout<<ans<<endl;
	return 0;
}

#2过了

2023/1/30 16:03
加载中...