Submission
Status:
xxxxxxxxxx
Subtask/Task Score:
0/100
Score: 0
User: iij
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.018 second
Submitted On: 2025-10-16 20:39:15
#include <bits/stdc++.h>
using namespace std;
bool isNotPrime[10000002];
int main() {
vector<int> ans;
int m, n;
cin >> m >> n;
// unsigned maxN = stol(string(n, '9'));
unsigned maxN = 10000001;
for (auto i = 2; i <= maxN; i++) {
if (!isNotPrime[i]) {
for (auto j = i*i; j <= maxN; j+=i) {
isNotPrime[j] = 1;
}
}
}
while(m--) {
unsigned c = 0;
string s;
cin >> s;
sort(s.begin(), s.end());
do if (!isNotPrime[stoi(s)]) c++;
while (next_permutation(s.begin(), s.end()));
ans.emplace_back(c);
}
for (auto i : ans) cout << i << "\n";
}