1. #include<bits/stdc++.h>
  2. using namespace std;
  3. char rev[]="A 3 HIL JM O 2TUVWXY51SE Z 8 ";
  4. char *msg[]={"is not a palindrome","is a regular palindrome","is a mirrored string","is a mirrored palindrome"} ;
  5. char aa(char a){
  6. if(isalpha(a)) return rev[a-'A'];//判断字符ch是否为英文字母,若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0。
  7. else return rev[a-''+];
  8. }
  9. int main(){
  10. char s[];
  11. while(scanf("%s",s)==){
  12. int p=,m=;
  13. int len=strlen(s);
  14. for(int i=;i<(len+)/;i++){
  15. if(s[i]!=s[len--i]) p=;//回文串判断
  16. if(aa(s[i])!=s[len--i]) m=;//镜像串判断 镜像之后,是否和右边的一样
  17. }
  18. printf("%s--%s.\n",s,msg[m*+p]);
  19. }
  20.  
  21. return ;
  22. }

如果ch是大写字母,则ch-‘A’就是它在字母表中的序号,(A的序号为0,B为1)

如果ch为数字,那么ch-‘0’就是这个数值本身,' 5 ' -  ' 0 ' =5;

算法竞赛入门经典第二版 回文词P49的更多相关文章

  1. 算法竞赛入门经典第二版 TeX中的引号 P47

    #include<bits/stdc++.h> using namespace std; int main(){ ; while( (c = getchar()) !=EOF) //get ...

  2. 算法竞赛入门经典第二版 蛇形填数 P40

    #include<bits/stdc++.h> using namespace std; #define maxn 20 int a[maxn][maxn]; int main(){ ; ...

  3. 算法竞赛入门经典第二版 竖式问题 P42

    #include<bits/stdc++.h> using namespace std; int inset(char *s,int num) { //判断数字是否在数字集中 int le ...

  4. 算法竞赛入门经典第二版第二章习题-(练习Java和C++语法)

    习题2-1水仙花数(daffodil) 输出1000-999中所有的水仙花数.若三位数ABC满足ABC = A3+B3+C3,则称其为水仙花数. Java: package suanfa; publi ...

  5. 算法竞赛入门经典第二版第一章习题-(练习Java和C++语法)

    习题1-1 平均数(average) 输入三个整数,输出他们的平均值,保留三位小数 Java: package suanfa; import java.util.Scanner; public cla ...

  6. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 1(String)

    第一题:401 - Palindromes UVA : http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8 ...

  7. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 3(Sorting/Searching)

    第一题:340 - Master-Mind Hints UVA:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Item ...

  8. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 2(Big Number)

    这里的高精度都是要去掉前导0的, 第一题:424 - Integer Inquiry UVA:http://uva.onlinejudge.org/index.php?option=com_onlin ...

  9. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第六章 1(Lists)

    127 - "Accordian" Patience 题目大意:一个人一张张发牌,如果这张牌与这张牌前面的一张或者前面的第三张(后面称之为一位置和三位置)的点数或花式相同,则将这张 ...

随机推荐

  1. P3292 [SCOI2016]幸运数字 [线性基+倍增]

    线性基+倍增 // by Isaunoya #include <bits/stdc++.h> using namespace std; #define rep(i, x, y) for ( ...

  2. Beego :布局页面

    1:页面布局 一个html页面由:head部分,body部分,内部css,内部js,外联css,外联的js这几部分组成.因此,一个布局文件也就需要针对这些进行拆分. 2>     新建一个lay ...

  3. P1339 热浪【最短路】

    #include <bits/stdc++.h> #define dbg(x) cout << #x << "=" << x < ...

  4. Codeforces Round #622 (Div. 2).C2 - Skyscrapers (hard version)

    第二次写题解,请多多指教! http://codeforces.com/contest/1313/problem/C2 题目链接 不同于简单版本的暴力法,这个数据范围扩充到了五十万.所以考虑用单调栈的 ...

  5. BZOJ2809&&LG1552 APIO2012派遣(线段树合并)

    BZOJ2809&&LG1552 APIO2012派遣(线段树合并) 题面 自己找去 HINT 简化一题面就是让你从每个点的子树中以\(<=m\)的代价选取尽可能多的点,然后乘上 ...

  6. Fastbin attack

    Fastbin Attack 暂时接触到了两种针对堆分配机制中fastbin的攻击方式,double free和house of spirit Double free 基本原理 与uaf是对free之 ...

  7. std::ref和std::cref使用(转载)

    转载于:https://blog.csdn.net/lmb1612977696/article/details/81543802 std::ref和std::cref 解释: std::ref 用于包 ...

  8. linux--python3安装以及虚拟环境配置

    linux下python3的编译安装以及项目运行 普通版安装编译python3并运行项目 最好指定目录进行操作 1.解决系统的基础开发工具,防止python3编译过程出错 yum install gc ...

  9. 为什么SSL证书要设有效期?

    1.首先是为了安全考虑,CA机构不能保证一个网站永远是合法的,因此它需要定期检查网站. 2.其次,以往CA证书都非常贵,签发证书的机构通过设置期限来收费,是一种商业途径. 3.最后,还有最重要的原因就 ...

  10. git内容补充-Git零基础快速入门-苏玲

    https://git-scm.com/book/zh/v2 git历史 集中式版本控制管理:cvs.svn 分布式版本控制管理:git 基本命令 git config --list --global ...