救救孩子!
查看原帖
救救孩子!
192304
xiaguoxin楼主2020/6/19 21:20
#include<bits/stdc++.h>
using namespace std;
int n,m,num,a[21];
bool s[21];
bool zhishu(int a)
{
	if(a==0||a==1)return false;
	for(int i=2;i<a;i++)if(a%i==0)return false;
	return true;
}
void dfs(int a,int b,int sum)
{
    if(a>m)
    {
        if(zhishu(sum))num++;
        return;
    }
    for(int i=b;i<n;i++)
    {
        if(!s[i])
        {
            s[i]=true;
            int c=sum+a[i];
            dfs(a+1,i+1,c);
            s[i]=false;
        }
    }
}
int main()
{
    cin>>n>>m;
	for(int i=0;i<n;i++)cin>>a[i];
	dfs(1,0,0);
	cout<<num<<endl;
	return 0;
}
2020/6/19 21:20
加载中...