HDOJ - 1318 Palindromes
来源:互联网 发布:天谕头发颜色数据 编辑:程序博客网 时间:2024/06/02 18:42
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1318
一般的字符串处理问题,一个共性:思路简单,代码繁琐。
譬如此题,首先会有一个问题要考虑:如何去建立镜像字母表。这里我采用的是两个常量字符串作为一一对应。
至于回文判断应该就不用说了吧。
代码如下:
#include <cstdio>#include <cstring>const char ch1[]="AEHIJLMOSTUVWXYZ123580";const char ch2[]="A3HILJMO2TUVWXY51SEZ80";char s[22];int mir[130];int pal(char *s){int n=strlen(s)-1;for (int i(0);i<=n/2;i++)if (s[i]!=s[n-i]) return 0;return 1;}int mirr(char* s){int n=strlen(s)-1;for (int i(0);i<=n/2;i++)if (mir[s[i]]<0 || mir[s[i]]!=s[n-i]) return 0;return 1; }int main(){freopen("in.txt","r",stdin);for (int i('A');i<='Z';i++) mir[i]=-1;for (int i(0);i<22;i++) mir[ch1[i]]=ch2[i];while (scanf("%s",s)!=EOF){int a=pal(s),b=mirr(s);if (!(a+b)) printf("%s -- is not a palindrome.\n",s);else {if (a>b) printf("%s -- is a regular palindrome.\n",s);else {if (a<b) printf("%s -- is a mirrored string.\n",s);else {printf("%s -- is a mirrored palindrome.\n",s);}}}printf("\n");}return 0;}
Accepted0MS220K876 B
- HDOJ - 1318 Palindromes
- hdoj 1318(Palindromes)
- hdoj 1544 Palindromes
- hdoj Palindromes _easy version
- HDOJ 5340 Three Palindromes
- HDOJ 5430 Three Palindromes
- HDOJ--2163 Palindromes
- HDOJ 2029 Palindromes _easy version
- HDOJ 2029 Palindromes _easy version
- 1318 Palindromes
- hdoj.2029 Palindromes _easy version 20140728
- hdoj 2029 Palindromes _easy version(回文串)
- hdoj 2029 Palindromes _easy version C++
- HDOJ 2029 Palindromes _easy version(回文串)
- hdoj 2029 Palindromes _easy version (字符串)
- HDOJ/HDU 2163 Palindromes(判断回文串~)
- hdu 1318 Palindromes
- Palindromes(1318)
- 十六进制的ascii码 "\u5929\u6cf0\u56fd\u9645" 解码成unicode
- java日期格式处理
- 查询日期字段,今天、昨天
- 银行MIS系统前台开发总结(1)
- 终于搞定PHP连接SQLServer2005.
- HDOJ - 1318 Palindromes
- 条形码
- 【Boost】boost库asio详解7——boost::asio::buffer用法
- 银行MIS系统前台开发总结(2)-dataTable控件
- 内核驱动程序与应用程序对比
- 站长故事之80后创业人赵伟:电脑少年的白色梦想
- 银行MIS系统前台开发总结(3)-dataTable控件应用2
- 【桥接模式】【辣椒、不辣 牛肉、猪肉 面 组合】
- 【DB2】DB2错误号汇总