#include<stdio.h> #include<string.h> char b[25]; char reverseArr[40] = "A 3 HIL JM O 2TUVWXY51SE Z 8 "; int Is_paLindrome(char *s) { int i; int n = strlen(s); for(i = 0;i <= n/2-1; i++) { if(s[i] != s[n-1-i]) { return 0; } } return 1; } int Is_mirrored(char *s) { int n = strlen(s); int h; for(h = 0; h <= n/2; h++) { if((s[h]>='A'&&s[h]<='Z') && reverseArr[s[h]-'A'] != s[h]) return 0; else if((s[h]>='1'&&s[h]<='9') && reverseArr[s[h]-'1'+26] != s[h]) return 0; } return 1; } int main() { while(gets(b)) { if(Is_paLindrome(b)) { if(!Is_mirrored(b)) printf("%s -- is a regular palindrome.\n",b); else printf("%s -- is a mirrored palindrome.\n",b); } else { if(!Is_mirrored(b)) printf("%s -- is not a palindrome.\n",b); else printf("%s -- is a mirrored string.\n",b); } printf("\n"); } return 0; }