#include <bits/stdc++.h>
using namespace std;
int n,k,ans=0;
int x[35];
bool check(int y){
if (y<=1) {
return false;
}
for(int i=2;i<=sqrt(y);i++){
if(y%i==0)return false;
}
return true;
}
void dfs(int p,int cnt,int sum){
if(p>n){
if(check(sum)&&cnt==k){
ans++;
}
return;
}
dfs(p+1,cnt+1,sum+x[p]);
dfs(p+1,cnt,sum);
}
int main(){
cin>>n>>k;
for(int i=1;i,i<=n;i++){
cin>>x[i];
}
dfs(1,0,0);
cout<<ans;
return 0;
}
洛谷P1036 [NOIP2002 普及组] 选数
最新推荐文章于 2024-10-02 22:45:05 发布