--- tags: UVA --- # UVA401 ```c++ #include<bits/stdc++.h> using namespace std; string con(string s){ string t=s; for(int i=0;i<s.length();i++){ switch(s[i]){ case 'E':t[i]='3';break; case '3':t[i]='E';break; case 'S':t[i]='2';break; case '2':t[i]='S';break; case 'J':t[i]='L';break; case 'L':t[i]='J';break; case 'Z':t[i]='5';break; case '5':t[i]='Z';break; } } return t; } int main(){ string str; while(cin>>str){ string strr=str; reverse(strr.begin(),strr.end()); bool isPalindrome= str==strr; bool isMirrored= str==con(strr); if(isMirrored&&isPalindrome) cout<<str<<" -- is a mirrored palindrome.\n"; else if(isMirrored) cout<<str<<" -- is a mirrored string.\n"; else if(isPalindrome) cout<<str<<" -- is a regular palindrome.\n"; else cout<<str<<" -- is not a palindrome.\n"; cout<<endl; } return 0; } ```