Submission
Status:
PPPPPxxPxx
Subtask/Task Score:
60/100
Score: 60
User: mzmvtbgf
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.005 second
Submitted On: 2026-03-13 15:26:24
#include <bits/stdc++.h>
using namespace std;
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
vector<bool> prime;
void prime_init()
{
for (int i = 2 ; i*i < t ; i++)
{
if (prime[i])
{
for (int j = i*i ; j < t ; j += i) prime[j] = 0;
}
}
return;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> q >> n;
t = pow(10, n) + 100;
prime.resize(t, 1);
prime[0] = 0;
prime[1] = 0;
prime_init();
while (q--)
{
int ct = 0;
string str;
/*vector<int> nums(n);
for (int i = 0 ; i < n ; i++)
{
char ch;
cin >> ch;
nums[i] = ch - '0';
}*/
cin >> str;
sort(str.begin(), str.end());
do
{
int now = stoi(str);
if (prime[now]) ct++;
} while (next_permutation(str.begin(), str.end()));
cout << ct << "\n";
}
return 0;
}