Submission

Status:

PPPPP--PTT

Subtask/Task Score:

60/100

Score: 60

User: patty

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

Language: cpp

Time: 1.097 second

Submitted On: 2026-03-16 14:35:02

#include <bits/stdc++.h>
using namespace std;
int stringtoint(string a) {
	int cur=1, b=0;
	for(auto i:a) {
		b+=(i-'0')*cur;
		cur*=10;
	}
	return b;
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	int m,n,count,check;
	string a;
	cin >> m >> n;
	for(int i=0;i<m;i++) {
		count = 0;
		cin >> a;
		sort(a.begin(),a.end());
		do{
			check = 0;
			int b = stringtoint(a);
//			cout << a << ' ' << b << '\n';
			if(b==2) count+=1;
			else if(b%2==0) continue;
			else {
				for(int i=3;i*i<=b;i+=2) {
					if(b%i==0) check+=1;
				}
				if(check==0) count+=1;
			}
		} while (next_permutation(a.begin(),a.end()));
		cout << count << '\n';
	}
}