#include <bits/stdc++.h>
using namespace std;
bool isprime(int a){
    if(a==1) return 0;
    for(int i=2;i*i<=a;i++) if(a%i==0)return 0;
    return 1;
}
int n,p,a[25];
long long ans;
void dfs(int m,int sum,int startx){
    if(m==p){
        if(isprime(sum)) ans++;
        return ;
    }
    for(int i=startx;i<n;i++) dfs(m+1,sum+a[i],i+1);
    return ;
}
int main(){
    scanf("%d%d",&n,&p);
    for(int i=0;i<n;i++) scanf("%d",&a[i]);
    dfs(0,0,0);
    printf("%d\n",ans);
    return 0;
}

2 条评论

  • @ 2025-10-28 22:04:48

    服务器突然卡了?

    • @ 2025-8-29 21:55:10

      没有呀,我用了一下你的代码是AC-code,@,当然本次成绩属于测试成绩,希望管理员(@)取消本次成绩,谢谢!

      • 1

      信息

      ID
      5094
      时间
      ms
      内存
      MiB
      难度
      3
      标签
      递交数
      317
      已通过
      146
      上传者