题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=342

题目意思:给出一段字符串(大写字母+数字组成)。判断是否为回文串 or 镜像串 or 回文镜像串 or 什么都不是。每个字母的镜像表格如下

Character Reverse Character Reverse Character Reverse
A A M M Y Y
B   N   Z 5
C   O O 1 1
D   P   2 S
E 3 Q   3 E
F   R   4  
G   S 2 5 Z
H H T T 6  
I I U U 7  
J L V V 8 8
K   W W 9  
L J X X    

注意是没有数字0的哦。(该题,数字 0 与字母 O 看成是一样的)

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cstring>
 5 using namespace std;
 6
 7 const int maxn = 1000 + 5;
 8 char mirror[] = "A   3  HIL JM O   2TUVWXY51SE Z  8 ";
 9 const char *msg[4] = {" -- is not a palindrome.", " -- is a regular palindrome.", " -- is a mirrored string.", " -- is a mirrored palindrome."};
10 char s[maxn];
11
12 char change(char ch)
13 {
14     if (ch >= 'A' && ch <= 'Z')
15        return mirror[ch-'A'];
16     return mirror[ch-'0'+25];
17 }
18
19 int main()
20 {
21     #ifndef ONLINE_JUDGE
22         freopen("in.txt", "r", stdin);
23     #endif // ONLINE_JUDGE
24
25     while (scanf("%s", s) != EOF) {
26         int len = strlen(s);
27         int p = 1, m = 1;
28
29         for (int i = 0; i < len; i++) {
30             if (s[i] != s[len-i-1]) p = 0;
31             if (change(s[i]) != s[len-i-1]) m = 0;
32         }
33         printf("%s%s\n\n", s, msg[p+m*2]);
34     }
35     return 0;
36 }

转载于:https://www.cnblogs.com/windysai/p/5348481.html

uva 401.Palindromes相关推荐

  1. UVa 401 - Palindromes

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=96&page=s ...

  2. UVaOJ 401 Palindromes

    原题: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=6&page ...

  3. 【鬼畜】UVA - 401每日一题·猛男就是要暴力打表

    管他什么rev数组,msg数组简化代码 #define _CRT_SECURE_NO_WARNINGS #include <cmath> #include <iostream> ...

  4. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  5. SUPERBIN技术周刊第6期

    本技术周刊是以周为单位作为里程碑,记录一个程序员视角下的所见,所学,所想.兴趣领域包括:数学,算法,图形,图像,音视频,AI,游戏,软件开发技术,操作系统,开源,以及生活杂记等."不积跬步, ...

  6. UVA401 ​​​​​​​Palindromes【字符串】

    Palindromes UVA - 401 题目传送门 题目大意:给你一个字符串,判断其是回文串还是镜像串. AC代码: #include <cstdio> #include <io ...

  7. 提取了下刘汝佳推荐的题号...

    今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started    10055 - Hashmat the Brave Warrior ...

  8. 《算法竞赛入门经典》Chap3

    <算法竞赛入门经典(第二版)>第三章 思考题 题目1 必要的存储量 题目2 统计字符1的个数 示例程序 程序3-1 逆序输出 程序3-2 开灯问题 程序3-3 蛇形填数 程序3-4 竖式问 ...

  9. 初学者acm的练习题指南

    上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1.    <!--[endif]-->Programming Bas ...

最新文章

  1. 重磅!2020 中国高校毕业生月薪排名:清华第一,24所高校过万
  2. 微软亚研院20周年独家撰文:数据智能的现在与未来
  3. 2416开发板上网卡芯片lan9220的时序配置问题
  4. java WebSocket实现一对一消息和广播消息Demo
  5. iOS new 和 alloc的区别
  6. NYOJ_5739最大岛屿(河南省第八届acm程序设计大赛)
  7. 配置虚拟目录的方式(Linux下/windows下)
  8. [蓝桥杯]算法提高 金属采集(树形dp)
  9. Java千百问_03基本语法(002)_java都有哪些关键字
  10. matlab handle plot
  11. 概率论符号_考研概率论知识点总结1
  12. linux驱动中使用定时器的设置
  13. python实验收获与反思 100字_期中考试总结与反思100字4篇
  14. 鼎捷t100架构_浅谈鼎捷T100 ERP的设计器使用规范
  15. java线程倒计时_Java核心知识点学习----多线程 倒计时记数器CountDownLatch和数据交换的Exchanger...
  16. Matlab突然闪退 出现Fatal Error On Startup解决办法
  17. GPU与CPU的区别
  18. mathmatica矩阵的运算,相乘,转置,求逆矩阵
  19. 二维码怎么制作?手把手教你制作生成
  20. Java回炉学习(七)

热门文章

  1. 2022-2028年中国阻尼涂料市场研究及前瞻分析报告
  2. 2022-2028年中国微藻行业市场调查研究及前瞻分析报告
  3. 2022-2028年中国橡胶板的制造行业发展战略规划及投资方向研究报告
  4. 2021年中国服装行业分析报告-产业规模现状与发展规划趋势
  5. Ubuntu 打 deb 包报错(fpm not found、dos2unix not found)
  6. 人生的路上,要懂得坚强
  7. 【C#实践】详解三层转七层:登录
  8. dataframe 转json
  9. App性能分析数据监控
  10. LED芯片,应用品,蓝宝石衬底,集成电路,UV