Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: qweqwe

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

Language: cpp

Time: 0.075 second

Submitted On: 2025-10-15 22:23:25

#include <bits/stdc++.h>
#define speed cin.tie(0)->sync_with_stdio(0)
#define ll long long
#define pii pair<int,int>
using namespace std;

bool isprime(int n){
	if (n<2) return false;
	for (int i=2;i<=sqrt(n);i++){
		if (n%i==0) return false;
	}return true;
}

int main(){
	speed;
	int m,n;cin >> m >> n;
	for (int i=0;i<m;i++){
		vector<int> v(n);
		int cnt=0;
		string s;cin >> s;
		for (int j=0;j<n;j++){
			v[j]=s[j]-'0';
		}sort(v.begin(),v.end());
		do{
			int t=0;
			for (int j=0;j<n;j++){
				t+=v[j]+10*t;
			}//cout << t << " ";
			bool prime=isprime(t);
			cnt+=prime;
		}while (next_permutation(v.begin(),v.end()));
		cout << cnt << "\n";
	}
	return 0;
}