```
#include <bits/stdc++.h>
using namespace std;
int n,m,a[10001],vis[10001],s=0;
void is_prime()
{
long long sum=0;
for(int i=1;i<=m;i++)
{
sum+=a[i];
}
for(int i=2;i<=sqrt(sum);i++)
{
if(sum%i==0)
return;
}
s++;
}
void dfs(int step){
for(int i=a[step-1]+1;i<=n;i++)
{
a[step]=i;
if(step==m&&vis[i]==0)
{
is_prime();
}
else if(step!=m&&vis[i]==0)
{
vis[i]=1;
dfs(step+1);
vis[i]=0;
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
dfs(1);
cout<<s;
}
by lcy0506 @ 2024-02-15 20:29:27
订正后的 17分
by lcy0506 @ 2024-02-15 20:30:28