救救!!!
查看原帖
救救!!!
1128181
Evolution333楼主2023/11/29 17:08
#include <iostream>
#include <string>
#include <cstring>

using namespace std;

const int N = 30;
int a[N];

bool st[500000010];

int n,k,res;

bool check(int x)
{
    bool flag = true;

    for(int i=2;i<x;i++)
    {
        if(x % i == 0) flag = false;
    }
    return flag;
}

void dfs(int u)
{
    if(u == k)
    {
        res++;
        return;
    }
    for(int i=0;i<n;i++)
    {
        if(!st[a[i]] && check(a[i]))
        {
            st[a[i]] = true;
            dfs(u+1);
            st[a[i]] = false;
        }
    }
}

int main()
{
    cin>>n>>k;

    for(int i=0;i<n;i++) cin>>a[i];

    dfs(0);

    cout<<res;

    return 0;
}
2023/11/29 17:08
加载中...