You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
#include <bits/stdc++.h>
|
|
|
|
using namespace std;
|
|
|
|
//判断是不是质数
|
|
bool isPrime(int n) { //最快的方法
|
|
if (n < 2) return false;
|
|
if (n == 2 || n == 3) return true;
|
|
if (n % 6 != 1 && n % 6 != 5) return false;
|
|
for (int i = 5; i <= floor(sqrt(n)); i += 6)
|
|
if (n % i == 0 || n % (i + 2) == 0)
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
int main() {
|
|
string str;
|
|
getline(cin, str);
|
|
unordered_map<char, int> _map;
|
|
//存入hash表
|
|
for (int i = 0; i < str.length(); ++i) {
|
|
_map[str[i]]++;
|
|
}
|
|
//迭代找到最大和最小
|
|
unordered_map<char, int>::iterator it = _map.begin();
|
|
int maxn = INT32_MIN, minn = INT32_MAX;
|
|
while (it != _map.end()) {
|
|
if (it->second > maxn) maxn = it->second;
|
|
if (it->second < minn) minn = it->second;
|
|
it++;
|
|
}
|
|
if (isPrime(maxn - minn)) {
|
|
cout << "Lucky World" << endl;
|
|
cout << maxn - minn << endl;
|
|
} else {
|
|
cout << "No Answer" << endl;
|
|
cout << "0" << endl;
|
|
}
|
|
return 0;
|
|
}
|