G. 蚂蚁的镜像串
单点时限: 1.0 sec
内存限制: 512 MB
一只聪明的蚂蚁在学习了回文串之后,一直觉得回文串不够优美,所以它决定自己定义一种新的字符串——镜像串
所谓镜像串,就是对一个字符串进行一整个完全的翻转后,得到的新字符串与原字符串相同,也就是说左右镜像之后的字符串和原串相同。例如:AA就是一个镜像串,bb不是镜像串
现在给你一个字符串S,请你快速的判断字符串S是不是一个镜像串
字符串中出现的字母字体如下表
输入格式
第一行一个整数T (1≤T≤100)代表有T组输入
接下来T行,每行输入一个长度小于等于105的字符串S
保证每个字符串只包含大小写字母
输出格式
对于每组输入,判断S是否为镜像串
如果是,输出”YES”。否则输出”NO”。
每组输出占一行
样例
5
QAQ
TAT
oUo
oVo
XoX
NO
YES
YES
YES
YES
提示
mm,nn,uu也是镜像串
#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. 蚂蚁的镜像串的更多相关文章
- UVA401(回文子串和镜像串)
可以先设一个常量镜像串,直接返回比较 #include <iostream> #include <string> #include <cstring> #inclu ...
- C++判断是回文串还是镜像串
#include <iostream> #include <string> #include <cstdio> #include <cctype> #p ...
- 集训第五周动态规划 G题 回文串
Description A palindrome is a symmetrical string, that is, a string read identically from left to ri ...
- UVa 401 Palindromes(镜像回文字符串)
题意 给一个字符串 判定其是否为回文串和镜像串 回文串非常好推断 镜像串对于每个字符用数组保存它的镜像字符即可了 没有的就是空格 注意若字符串长度为奇数 中间那个字母必须是对称的才是镜 ...
- NodeJS 服务 Docker 镜像极致优化指北
这段时间在开发一个腾讯文档全品类通用的 HTML 动态服务,为了方便各品类接入的生成与部署,也顺应上云的趋势,考虑使用 Docker 的方式来固定服务内容,统一进行制品版本的管理.本篇文章就将我在服务 ...
- 设置 git/npm/bower/pip/gem镜像或代理
git 设置: $ git config --global http.proxy http://proxy.mysite.com 取消: $ git config --global --unset h ...
- npm镜像地址的修改或切换
方法一:直接编辑npm的配置文件npm config edit修改registry的地址registry=https://registry.npm.taobao.org 方法二:用代码更改npm的配置 ...
- 2016年蓝桥杯省赛A组c++第9题(逆序串问题)
/* X星球的考古学家发现了一批古代留下来的密码. 这些密码是由A.B.C.D 四种植物的种子串成的序列. 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串). 由于年代久远,其中许 ...
- 镜像上传和Dockerfile
一.镜像上传 1.在https://hub.docker.com 注册一个账号 2.创建一个仓库 3.取到containerID #docker ps 4.commit容器 #docker commi ...
随机推荐
- upload-labs学习笔记
项目地址:https://github.com/c0ny1/upload-labs 运行环境 操作系统:windows.Linux php版本:推荐5.2.17(其他版本可能会导致部分Pass无法 ...
- python-神奇的下划线
2019-12-16 22:45:29 python中下划线有各种各样的作用,本章就来分别介绍一下各种下划线的功能. 一.开头单下划线 _VAR 开头单下划线还是挺常用的,在类中表示为保护变量/保护函 ...
- upload-labs通关集
upload-labs通关集 环境 第一题 前端js检查 第二题 content-type类型绕过 第三题 黑名单绕过 第四题 .htaccess绕过 第五题 大小写绕过 第六题 空格绕过 第七题 点 ...
- Hive内外表的区分方法及内外部差异
Hive内外部区分方法 查看hive元数据:进入mysql中hive元数据库,查看TBLS表,查看对应的表名和表类型: 在hive-cli界面:desc extended tablename,查看Ta ...
- 北邮OJ 89. 统计时间间隔 java版
89. 统计时间间隔 时间限制 1000 ms 内存限制 65536 KB 题目描述 给出两个时间(24小时制),求第一个时间至少要经过多久才能到达第二个时间.给出的时间一定满足的形式,其中x和y分别 ...
- 【笔记3-27】Python语言基础
流程控制语句 if语句 input() if-else if-elif-else
- tigervnc使用总结
vncserver和x0vncserver用法总计 通常vncserver :port 会调用到xvnc,这时系统会新建一个虚拟桌面通过vncserver分享出去. vncserver的用法很简单: ...
- GANs和低效映射
生成对抗网络(GANs)被誉为生成艺术领域的下一纪元,这是有充分理由的.新技术一直是艺术的驱动因素,从颜料的发明到照相机再到Photoshop-GAN是自然而然的.例如,考虑下面的图片,由埃尔加马勒发 ...
- 移动端rem布局实现(vw)
什么是rem?在W3C官网上是这样描述的:“font size of the root element (根元素的字体大小)”.就是说rem是相当于html的,因为网页的默认字体大小是 16px,所以 ...
- JS 剑指Offer(三) 替换字符串中的空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20". 实现这个函数的方法很简单,在JS中可以直接应用正则表达式,代码如下 直接将全局中的space换成%20,一行代码搞定 ...