C++
unknown
plain_text
3 years ago
1.8 kB
10
Indexable
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 1e9 + 7;
void createTable(map<char, string> &table) {
table['A'] = "01";
table['B'] = "1000";
table['C'] = "1010";
table['D'] = "100";
table['E'] = "0";
table['F'] = "0010";
table['G'] = "110";
table['H'] = "0000";
table['I'] = "00";
table['J'] = "0111";
table['K'] = "101";
table['L'] = "0100";
table['M'] = "11";
table['N'] = "10";
table['O'] = "111";
table['P'] = "0110";
table['Q'] = "1101";
table['R'] = "010";
table['S'] = "000";
table['T'] = "1";
table['U'] = "001";
table['V'] = "0001";
table['W'] = "011";
table['X'] = "1001";
table['Y'] = "1011";
table['Z'] = "1100";
table['1'] = "01111";
table['2'] = "00111";
table['3'] = "00011";
table['4'] = "00001";
table['5'] = "00000";
table['6'] = "10000";
table['7'] = "11000";
table['8'] = "11100";
table['9'] = "11110";
table['0'] = "11111";
}
bool check(string s) {
if (s.size() == 0)
return false;
int i = 0;
int j = s.size() - 1;
while (i < j) {
if (s[i] != s[j])
return false;
i++;
j--;
}
return true;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
map<char, string> table;
createTable(table);
string s;
cin >> s;
string res;
for (int i = 0; i < s.size(); i++)
if ((s[i] <= 'Z' && s[i] >= 'A') || (s[i] <= 'z' && s[i] >= 'a') || (s[i] <= '9' && s[i] >= '0'))
res += table[toupper(s[i])];
if (check(res))
cout << "YES";
else
cout << "NO";
return 0;
}
Editor is loading...