Submission
Status:
xxxxxxxxxx
Subtask/Task Score:
0/100
Score: 0
User: kavin8888
Problemset: ดีกค์เวิร์ด
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-16 21:29:01
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define fs first
#define sc second
#define pll pair<long long int,long long int>
int main()
{
int n,q;
cin>>n>>q;
vector<string> s(n);
for(int i=0;i<n;i++)
{
cin>>s[i];
}
//SIEVE
int MAX_N=pow(10,q);
vector<bool> prime(MAX_N+1,true);
prime[0]=prime[1]=false;
for(int i=2;i*i<=MAX_N;i++)
{
if(prime[i])
{
for(int j=i*i;j<=MAX_N;j+=i)
{
prime[j]=false;
}
}
}
for(int i=0;i<n;i++)
{
int cnt=0;
sort(s[i].begin(),s[i].end());
do
{
if(prime[stoi(s[i])])
{
cnt++;
}
}while(next_permutation(s[i].begin(),s[i].end()));
cout<<cnt<<'\n';
}
}