Submission
Status:
PPPPPxxPxx
Subtask/Task Score:
60/100
Score: 60
User: Nathako9n
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.004 second
Submitted On: 2026-01-18 13:25:41
#include <bits/stdc++.h>
#define endl '\n'
#define ll long long
using namespace std;
int n,m;
const int N = 1e6+3;
bool is[N+3];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>m>>n;
is[1]=1;
is[0]=1;
for(int i=2;i*i<=N;i++){
if(!is[i]){
for(int j=2*i;j<=N;j+=i){
is[j]=1;
}
is[i]=0;
}
}
while(m--){
string s;cin>>s;
sort(s.begin(),s.end());
int cnt=0;
do{
int it=0,bs=1;
for(int i=n-1;i>=0;i--){
it+=(s[i]-'0')*bs;
bs*=10;
}
cnt+=!is[it];
}while(next_permutation(s.begin(),s.end()));
cout<<cnt<<endl;
}
return 0;
}
/*
4 2
13
97
12
91
*/