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';
	}
}