문제
링크
풀이
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
void solve(void) {
string s; getline(cin, s);
unordered_map<char, int> mp;
for (char c : s) mp[c]++;
char key = '.'; int val = 0;
for (char c='A'; c<='Z'; c++) {
if (mp[c] > val) key = c, val = mp[c];
else if (mp[c] == val) key = '.';
}
if (key == '.') {
cout << "NOT POSSIBLE\n";
return;
}
cout << (key - 'E' + 26) % 26 << " ";
for (char c : s) {
if (c == ' ') cout << ' ';
else cout << (char)((c - 'A' + ('E' - key + 26) % 26) % 26 + 'A');
}
cout << "\n";
}
int main(void) {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int c; cin >> c;
cin.ignore();
while (c--) solve();
return 0;
}