单点时限: 1.0 sec

内存限制: 512 MB

一只聪明的蚂蚁在学习了回文串之后,一直觉得回文串不够优美,所以它决定自己定义一种新的字符串——镜像串

所谓镜像串,就是对一个字符串进行一整个完全的翻转后,得到的新字符串与原字符串相同,也就是说左右镜像之后的字符串和原串相同。例如:AA就是一个镜像串,bb不是镜像串

现在给你一个字符串S,请你快速的判断字符串S是不是一个镜像串

字符串中出现的字母字体如下表

输入格式

第一行一个整数T  (1≤T≤100)代表有T组输入

接下来T行,每行输入一个长度小于等于105的字符串S 
保证每个字符串只包含大小写字母

输出格式

对于每组输入,判断S是否为镜像串

如果是,输出”YES”。否则输出”NO”。

每组输出占一行

样例

input
5
QAQ
TAT
oUo
oVo
XoX
output
NO
YES
YES
YES
YES

提示

mm,nn,uu也是镜像串

 
 这个题目的坑就是 bd  db  pq 和qp是镜像串 其他的就是,如果是奇数的话,必须找到中间的那个字符是否对称,如果不对称的话,,直接pass掉
AC代码:
#include<iostream>
#include<string>
using namespace std;
typedef long long ll;
int check(char x,char y){
if(x=='A'&&y=='A'||x=='O'&&y=='O'||x=='T'&&y=='T'){
return ;
}
if(x=='H'&&y=='H'||x=='U'&&y=='U'||x=='V'&&y=='V'||x=='W'&&y=='W'){
return ;
}
if(x=='I'&&y=='I'||x=='X'&&y=='X'||x=='Y'&&y=='Y'||x=='i'&&y=='i'||x=='l'&&y=='l'){
return ;
}
if(x=='M'&&y=='M'||x=='m'&&y=='m'||x=='n'&&y=='n'||x=='o'&&y=='o'||x=='u'&&y=='u'){
return ;
}
if(x=='v'&&y=='v'||x=='w'&&y=='w'||x=='x'&&y=='x'){
return ;
}
if(x=='b'&&y=='d'||x=='d'&&y=='b')
return ;
if(x=='p'&&y=='q'||x=='q'&&y=='p')
return ;
return ;
}
int judge(char s){ if(s=='A'||s=='O'||s=='T'||s=='H'||s=='U'||s=='V'||s=='w'||s=='W'||s=='I'||s=='X')
return ;
if(s=='Y'||s=='i'||s=='l'||s=='M'||s=='m'||s=='n'||s=='o'||s=='u'||s=='v'||s=='x')
return ;
return ;
}
int main(){
int t;
cin>>t;
while(t--){
string a;
cin>>a;
int x=,y=a.size()-;
int flag=;
while(x!=y){
if(check(a[x],a[y])){
x++;
y--;
}
else{
flag=;
break;
}
} if(a.size()%!=){
if(judge(a[a.size()/])!=){
flag=;
}
} if(flag) puts("NO");
else puts("YES");
} return ;
}

G. 蚂蚁的镜像串的更多相关文章

  1. UVA401(回文子串和镜像串)

    可以先设一个常量镜像串,直接返回比较 #include <iostream> #include <string> #include <cstring> #inclu ...

  2. C++判断是回文串还是镜像串

    #include <iostream> #include <string> #include <cstdio> #include <cctype> #p ...

  3. 集训第五周动态规划 G题 回文串

    Description A palindrome is a symmetrical string, that is, a string read identically from left to ri ...

  4. UVa 401 Palindromes(镜像回文字符串)

     题意  给一个字符串 判定其是否为回文串和镜像串  回文串非常好推断  镜像串对于每个字符用数组保存它的镜像字符即可了  没有的就是空格 注意若字符串长度为奇数  中间那个字母必须是对称的才是镜 ...

  5. NodeJS 服务 Docker 镜像极致优化指北

    这段时间在开发一个腾讯文档全品类通用的 HTML 动态服务,为了方便各品类接入的生成与部署,也顺应上云的趋势,考虑使用 Docker 的方式来固定服务内容,统一进行制品版本的管理.本篇文章就将我在服务 ...

  6. 设置 git/npm/bower/pip/gem镜像或代理

    git 设置: $ git config --global http.proxy http://proxy.mysite.com 取消: $ git config --global --unset h ...

  7. npm镜像地址的修改或切换

    方法一:直接编辑npm的配置文件npm config edit修改registry的地址registry=https://registry.npm.taobao.org 方法二:用代码更改npm的配置 ...

  8. 2016年蓝桥杯省赛A组c++第9题(逆序串问题)

    /* X星球的考古学家发现了一批古代留下来的密码. 这些密码是由A.B.C.D 四种植物的种子串成的序列. 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串). 由于年代久远,其中许 ...

  9. 镜像上传和Dockerfile

    一.镜像上传 1.在https://hub.docker.com 注册一个账号 2.创建一个仓库 3.取到containerID #docker ps 4.commit容器 #docker commi ...

随机推荐

  1. hdu1455 拼木棍(经典dfs)

    给定木棍序列,求解能将木棍拼成相同长度的数根长木棍的情况下长木棍长度的最小值. /*hdu1455dfs */ #include<bits/stdc++.h> using namespac ...

  2. Spark在Windows环境下的配置

    1.下载 下载地址:http://spark.apache.org/downloads.html. 选择下面版本下载. 2.操作流程:https://blog.csdn.net/nxw_tsp/art ...

  3. linggle使用技巧

    Linggle 搜索引擎是一个可用于英语写作的语法.句子工具,可帮助学习者分析更准确的英文写作建议,能够根据词性来推测短句和句子,可精准的分享出完整英文句子如何撰写. Linggle 是台湾学术团队研 ...

  4. TensorFlow RNN 教程和代码

    分析: 看 TensorFlow 也有一段时间了,准备按照 GitHub 上的教程,敲出来,顺便整理一下思路. RNN部分 定义参数,包括数据相关,训练相关. 定义模型,损失函数,优化函数. 训练,准 ...

  5. Golang校招简历项目-简单的分布式缓存

    前言 前段时间,校招投了golang岗位,但是没什么好的项目往简历上写,于是参考了许多网上资料,做了一个简单的分布式缓存项目. 现在闲下来了,打算整理下. github项目地址:https://git ...

  6. Oracle 11g服务端的安装和配置

    1.双击Oracle11g_database安装目录下的Setup.exe. 2.选择“基本安装”,设置“安装位置”,填写“数据库名”和“口令”,点击“下一步”. 3.点击“下一步”. 4.一般会出现 ...

  7. Arcgis中制作热力图

    摘要 使用核函数根据点或折线 (polyline) 要素计算每单位面积的量值以将各个点或折线 (polyline) 拟合为光滑锥状表面. 插图

  8. iOS 编译过程原理(1)

    一.前言 一般可以将编程语言分为两种,编译语言和直译式语言. 像 C++.Objective-C 都是编译语言.编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在 CPU 上执行,所以 ...

  9. 左手C#,右手Java

    C# takes me to develop career, Java makes me more powerful. Code is poetry.

  10. Ubuntu添加新用户并给普通用户赋予root新权限

    添加新用户 首先用adduser命令添加普通用户: #adduser newusername 只有在root权限才可以添加新用户 修改密码: #passwd username 赋予root权限 方法1 ...