UVA 401 Palindromes
来源:互联网 发布:linux oracle安装教程 编辑:程序博客网 时间:2024/06/06 00:18
题目要求:给一个字符串,判断其为回文串,或是镜像串,或是两者都有,或是两者都无。。。。镜像串题目有解释:即一个字符串从左到右读出来和从右到左是一样的。比如“E”和“3”就是可以的。题中附表格。其中说明0和O是一样的,所以将0视为非法字符。
CharacterReverseCharacterReverseCharacterReverseAAMMYYB N Z5C OO11D P 2SE3Q 3EF R 4 G S25ZHHTT6 IIUU7 JLVV88K WW9 LJXX 这个题目如果WA,可以考虑ABA,AOA这种情况,第一个是普通的回文串,第二个则是回文镜像串。#include<stdio.h>#include<string.h>int check(char a,char b){if(a==b&&(a=='A'||a=='H'||a=='I'||a=='M'||a=='O'||a=='T'||a=='U'||a=='U'||a=='V'||a=='W'||a=='X'||a=='Y'||a=='1'||a=='8'))return 1;if((a=='E'&&b=='3')||(a=='3'&&b=='E'))return 1;if((a=='J'&&b=='L')||(a=='L'&&b=='J'))return 1;if((a=='S'&&b=='2')||(a=='2'&&b=='S'))return 1;if((a=='Z'&&b=='5')||(a=='5'&&b=='Z'))return 1;if((a=='0'&&b=='O')||(a=='O'&&b=='0'))return 1;return 0;}int main(){char str[1005];int l,i,j,k,t1,t2,f,x;while(scanf("%s",str)!=EOF){t1=t2=f=x=0;l=strlen(str);if(l%2==1)x=1;for(i=0;i<l/2;i++){ if(check(str[i],str[l-1-i])){f=2;t2=1;}else {f=0;break;}}if(f==2){for(i=0;i<l-1-i;i++){if(str[i]==str[l-1-i])f=3;else { f=2;break;}}}else {for(i=0;i<l-1-i;i++){if(str[i]==str[l-i-1])f=1;else {f=0;break;}}} if(l==1){ if(check(str[0],str[0])) printf("%s -- is a mirrored palindrome.\n\n",str); else printf("%s -- is a regular palindrome.\n\n",str); continue; } if(x){ if(f==2){ if(!check(str[l/2],str[l/2]))f=0; } if(f==3){ if(!check(str[l/2],str[l/2]))f=1; } }if(f==0)printf("%s -- is not a palindrome.\n",str);if(f==1)printf("%s -- is a regular palindrome.\n",str);if(f==2)printf("%s -- is a mirrored string.\n",str);if(f==3)printf("%s -- is a mirrored palindrome.\n",str);printf("\n");}return 0;}
0 0
- UVa 401 Palindromes
- UVa OJ 401-Palindromes
- UVa:401 - Palindromes
- uva 401 Palindromes //字符串
- uva 401 - Palindromes
- UVa 401 - Palindromes
- UVa 401 - Palindromes
- UVa 401 - Palindromes
- uva-401 - Palindromes
- UVa 401 Palindromes
- uva 401 Palindromes
- uva 401 Palindromes
- UVA 401 - Palindromes
- UVa 401 - Palindromes
- UVA 题目401 - Palindromes
- UVA 401 Palindromes
- UVa 401: Palindromes
- UVA 401 Palindromes
- ios多线程
- InnoDB Insert(插入)操作(上)--mysql技术内幕
- 单件
- CSS分页按钮样式代码-www.codesc.net
- vs2010下qt的intellisense
- UVA 401 Palindromes
- 为了省钱开始学习python(1)
- 7.6 NOI模拟总结
- iOS中定时器NSTimer的一些用法总结
- ExtJs Alert
- 用JUnit4进行单元测试代码编写
- ios foundation
- CodeForces 525D D. Arthur and Walls(BFS)
- js format 加减