Submission
Status:
PPPPP--P--
Subtask/Task Score:
60/100
Score: 60
User: goine
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.470 second
Submitted On: 2026-03-14 14:21:01
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool isPrime(int n){
if (n<=1)return 0;
for (int i=2;i*i<=n;i++){
if (n%i==0) return 0;
}
return 1;
}
int permu(string a){
int n = a.size();
sort(a.begin(),a.end());
int k=0;
int c=0;
do {
k=0;
for(int i=0;i<n;i++){
k = (10*k)+(a[i])-'0';
}
if(isPrime(k)){
c++;
}
//cout<<k<<' ';
}while(next_permutation(a.begin(),a.end()));
return c;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
int r,s;
int k;
string a;
cin>>r>>s;
for (int i=0;i<r;i++){
cin>>a;
cout<<permu(a)<<'\n';
}
}