UVaOJ 401 - Palindromes
2015-04-11 20:28
323 查看
#include <stdio.h> #include <string.h> #include <ctype.h> char mirror[22] = {'A','E','H','I','J','L','M','O','S','T','U','V','W','X','Y','Z','1','2','3','5','8','\0'}; char raw[22] = {'A','3','H','I','L','J','M','O','2','T','U','V','W','X','Y','5','1','S','E','Z','8','\0'}; int look_up(char c); int main(){ //freopen("in.txt","r",stdin); char s[30]; while(gets(s)!=NULL){ int len = strlen(s); bool isPalindrome = true; for(int i =0;i<=len/2;i++){ if(s[i]!=s[len-1-i]) {isPalindrome = false;break;} } bool isMirrored = true; for(int i = 0;i<len;i++){ int pos = look_up(s[i]); if(pos != -1){ if(raw[pos] != s[len-1-i]){ isMirrored = false; break; } }else{ isMirrored = false; break; } } printf("%s -- is ",s); if(isPalindrome){ if(isMirrored){ printf("a mirrored palindrome.\n"); }else{ printf("a regular palindrome.\n"); } }else{ if(isMirrored){ printf("a mirrored string.\n"); }else{ printf("not a palindrome.\n"); } } printf("\n"); } return 0; } int look_up(char c){ for(int i = 0;i<22;i++){ if(mirror[i] == c) return i; } return -1; }
相关文章推荐
- UVaOJ 401 - Palindromes
- uvaoj-401-Palindromes
- UVaOJ 401 - Palindromes
- 【UVaOJ】401 Palindromes
- UvaOj 401 - Palindromes
- UvaOj 401 - Palindromes
- uvaoj 401 Palindromes
- UVaOJ 401 Palindromes
- uvaoj 401 Palindromes
- UVAOJ401- Palindromes
- UVa 401 - Palindromes
- UVa 401 Palindromes
- uva-401 - Palindromes
- UVA 401 - Palindromes(字符串)
- UVa401 Palindromes
- uva--401 Palindromes
- uva 401 Palindromes
- 401 - Palindromes题解
- Problem 003——UVa401 - Palindromes
- UVA 401 Palindromes 回文词