判断字符串是否镜像,需要注意的是不仅要判断每个字符是否为镜像,还要判断整个字符串是否镜像
不得不说的是‘N’自身不是镜像的。。。因为这个被人hack了一次
代码如下:
#include <map>
#include <cmath>
#include <vector>
#include <string>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define esp 1e-9
#define MAXN 10010
#define ll long long
#define INF 0x7FFFFFFF
#define BUG system("pause")
#define SW(a,b) a^=b;b^=a;a^=b;
using namespace std;
int main(void){
string str;
string chs = "BCDEFGJKLNPQRSZ";
while(cin >> str){
int ok = 0;
for(int i=0; i<chs.size(); ++i){
if(str.find(chs[i]) != string::npos){
ok = 1;
break;
}
}
if(ok == 0){
int len = str.size();
for(int i=0; i<len/2; ++i){
if(str[i] != str[len-i-1]){
ok = 1;
break;
}
}
}
if(ok == 1){
cout << "NO" << endl;
} else {
cout << "YES" << endl;
}
}
return 0;
}