您的位置:首页 > 其它

codeforces 691B 水题

2016-09-03 11:56 363 查看
题意:问给定的字符串是否是镜面对称

#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#define rep(i, j, k) for(int i = j; i <= k; i++)

using namespace std;

bool fuck (char ch)
{
return ch == 'o' || ch == 'v' || ch == 'w' || ch == 'x' || ch == 'A'
|| ch == 'H' || ch == 'I' || ch == 'M' || ch == 'O' || ch == 'T' || ch == 'U' || ch == 'V' || ch == 'W' || ch == 'X' || ch == 'Y';
}

int main ()
{
string s;
cin >> s;
{
string s1 = s;
int n = s.length ();
for (int i = 0; i < n; i++)
s1[i] = s[n - 1 - i];
//cout << s1 << endl;
rep (i, 0, n - 1)
if (s1[i] == 'b')
s1[i] = 'd';
else
if (s1[i] == 'd')
s1[i] = 'b';
else
if (s1[i] == 'p')
s1[i] = 'q';
else
if (s1[i] == 'q')
s1[i] = 'p';
else
if (fuck (s1[i]))
s1[i] = s1[i];
else
s1[i] = ' ';
if (s == s1)
printf ("TAK\n");
else
printf ("NIE\n");
//cout << s1 << endl;
}
return 0;
}

直接做就行。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: