Submission

Status:

xxxxxxxxxx

Subtask/Task Score:

0/100

Score: 0

User: nik121416

Problemset: การเรียงสับเปลี่ยน

Language: cpp

Time: 0.004 second

Submitted On: 2026-03-16 15:49:56

#include <bits/stdc++.h>
using namespace std;

vector<bool> prime(1000000,true);

void p(){
    prime[0] = false;
    prime[1] = false;
    for(int i = 2; i * i < 10000000;i++){
        if(prime[i]){
            for(int j = i*i ;j < 10000000;j+=i){
                prime[j] = false;
            }
        }
    }
}

int main(){
    p();
    int m,n;
    cin >> m >> n;
    vector<int> sum(m,0);
    for(int i = 0 ; i < m;i++){
        string s;
        cin >> s;
        sort(s.begin(),s.end());
        do{
            //if(s[0] == '0') continue;
            int nn = 0;
            for(char c : s){
                nn = nn*10 + (c-'0');
            }
            if(nn < 1e6 &&prime[nn]){
                sum[i] +=1;
            }
        }
        while(next_permutation(s.begin(),s.end()));
    }
    for(int i:sum){
        cout << i << '\n';
    }
}