【例题3-3 UVA - 401】Palindromes
【链接】 我是链接,点我呀:)
【题意】
【题解】
如果一个字符没有对应的镜像,那么它对应的是一个空格。 然后注意 aba这种情况。 这种情况下b也要查一下它的镜像是不是和b一样。【错的次数】
在这里输入错的次数【反思】
在这里输入反思【代码】
#include <bits/stdc++.h>
using namespace std;
const char * rev = {"A 3 HIL JM O 2TUVWXY51SE Z 8 "};
const char * msg[] = {"is not a palindrome.","is a regular palindrome.",
"is a mirrored string.","is a mirrored palindrome."};
const int N = 100;
char s[N];
char re(char ch)
{
if (isalpha(ch))
return rev[ch-'A'];
return rev[ch-'0'+25];
}
int main()
{
//freopen("F:\\rush.txt","r",stdin);
while (~scanf("%s",s))
{
int len = strlen(s);
int x = 1,y = 1;
for (int i = 0;i < (len+1)/2;i++)
{
if (s[i]!=s[len-i-1]) x = 0;
if (re(s[i])!=s[len-i-1]) y = 0;
}
printf("%s -- %s\n\n",s,msg[y*2+x]);
}
return 0;
}