範例程式碼 uva401
//uva401
#include<stdio.h>
#include<iostream>
#include<map>
using namespace std;
string s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
string r = "A 3 HIL JM O 2TUVWXY51SE Z 8 ";
int main() {
string line;
bool m = true;
bool p = true;
map<char, char> map;
for(int i = 0; i < s.length(); i++)
map[s[i]] = r[i];
while(cin >> line) {
m = true;
for(int i = 0; i < line.length() / 2 + line.length() % 2; i++)
if(line[line.length() - i - 1] != map[line[i]])
m = false;
p = true;
for(int i = 0; i < line.length() / 2; i++)
if(line[line.length() - i - 1] != line[i])
p = false;
if(!m && !p)
cout << line << " -- is not a palindrome.\n";
else if(!m && p)
cout << line << " -- is a regular palindrome.\n";
else if(m && !p)
cout << line << " -- is a mirrored string.\n";
else
cout << line << " -- is a mirrored palindrome.\n";
cout << endl;
}
return 0;
}