过不了样例,不知道怎么过
查看原帖
过不了样例,不知道怎么过
510360
HbugU楼主2022/1/19 13:39
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define fr first
#define se second
#define FAST ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
using namespace std;
int n,k,a[25],ans;
bool is_prime(int x){
	for(int i=2;i<=sqrt(n);i++){
		if(x%i==0) return 0;
	}
	return 1;
}
void dfs(int m,int s,int l){
	if(m==k){
		if(is_prime(s)) ans++;
		return;
	}
	for(int i=l;i<=n;i++){
		dfs(m+1,s+=a[i],i+1);
	}
}
int main(){
	FAST;
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	dfs(0,0,1);
	cout<<ans;
	return 0;
}
2022/1/19 13:39
加载中...