Submission
Status:
PPPP-xx-xx
Subtask/Task Score:
40/100
Score: 40
User: iij
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.005 second
Submitted On: 2025-10-17 20:36:49
#include <bits/stdc++.h>
using namespace std;
bool isNotPrime[1000002];
int main() {
vector<int> ans;
int m, n;
cin >> m >> n;
isNotPrime[0] = isNotPrime[1] = 1;
for (unsigned i = 2; i <= 999999; i++) {
if (!isNotPrime[i]) {
for (unsigned j = i*i; j <= 999999; 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";
}