Submission
Status:
PPPPP--P--
Subtask/Task Score:
60/100
Score: 60
User: qweqwe
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.088 second
Submitted On: 2025-10-15 22:26:07
#include <bits/stdc++.h>
#define speed cin.tie(0)->sync_with_stdio(0)
#define ll long long
#define pii pair<int,int>
using namespace std;
bool isprime(int n){
if (n<2) return false;
for (int i=2;i<=sqrt(n);i++){
if (n%i==0) return false;
}return true;
}
int main(){
speed;
int m,n;cin >> m >> n;
for (int i=0;i<m;i++){
vector<int> v(n);
int cnt=0;
string s;cin >> s;
for (int j=0;j<n;j++){
v[j]=s[j]-'0';
}sort(v.begin(),v.end());
do{
int t=0;
for (int j=0;j<n;j++){
t+=v[j]*pow(10,n-j-1);
}//cout << t << " ";
bool prime=isprime(t);
cnt+=prime;
}while (next_permutation(v.begin(),v.end()));
cout << cnt << "\n";
}
return 0;
}