Submission

Status:

P----xx-xx

Subtask/Task Score:

10/100

Score: 10

User: nik121416

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

Language: cpp

Time: 0.051 second

Submitted On: 2026-03-16 15:37:48

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

vector<bool> prime(10000000,true);

void p(){
    prime[0] = false;
    prime[1] = false;
    for(int i = 2; i < 10000000;i++){
        if(prime[i]){
            int p = i;
            for(int j = p+p ;j < 10000000;j+=p){
                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;
        if(s[0] == '0') continue;
        sort(s.begin(),s.end());
        do{
            int nn = stoi(s);
            if(prime[nn]){
                sum[i] +=1;
            }
        }
        while(next_permutation(s.begin(),s.end()));
    }
    for(int i:sum){
        cout << i << '\n';
    }
}