Submission
Status:
xxPxxxxxxx
Subtask/Task Score:
10/100
Score: 10
User: NANO..
Problemset: การเรียงสับเปลี่ยน
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-15 21:26:34
#include <bits/stdc++.h>
using namespace std;
const int N=1e3;
bool prime[N];
void sieve(){
prime[0]=false;
prime[1]=false;
for (int i = 2; i <= N; i++)
{
if(prime[i]){
for (int j = i*i; j <= N; j+=i)
{
prime[j]=false;
}
}
}
}
int main()
{
ios::sync_with_stdio(0);cin.tie(0);
memset(prime,true,sizeof(prime));
sieve();
// for (int i = 0; i < 100; i++)
// {
// if(prime[i]) cout << i << " ";
// // cout << i << " : " << prime[i] << '\n';
// }
// return 0;
int n,m;
cin >> n >> m;
vector<string> v(n);
for(auto& i:v) cin >> i;
for(auto i:v){
int cnt=0;
string curr=i;
sort(curr.begin(),curr.end());
do
{
int curr_num=stoi(curr);
if(prime[curr_num])cnt++;
} while (next_permutation(curr.begin(),curr.end()));
cout << cnt << '\n';
}
}
/*
a*b^c+d*e^f
2
1 0
2 0
*/