Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:小弟跪求牛人(样例全部ok,附代码)In Reply To:小弟跪求牛人(样例全部ok,附代码) Posted by:realkingiscoming at 2009-11-06 11:35:29 举个例子,如果输入是S, 输出应该是 S -- is a regular palindrome. 你的是 2 -- is a regular palindrome. > #include <iostream> > #include <string.h> > #include <stdio.h> > using namespace std; > > bool is_parlindrome(const char* src) > { > const char *end = src; > while(*end) > ++end; // has pointed to '' > --end; > while(src < end) > { > if(*src++ != *end--) > return false; > } > return true; > } > > bool is_mirrored(char* src) > { > char originalstr[10000]; > > strcpy(originalstr, src); > > int i; > int len = strlen(src); > > for(i=0; i<len; i++) > { > switch(src[i]) > { > case 'A': src[i] = 'A'; break; > case 'E': src[i] = '3'; break; > case 'H': src[i] = 'H'; break; > case 'I': src[i] = 'I'; break; > case 'J': src[i] = 'L'; break; > case 'L': src[i] = 'J'; break; > case 'M': src[i] = 'M'; break; > case 'O': src[i] = 'O'; break; > case 'S': src[i] = '2'; break; > case 'T': src[i] = 'T'; break; > case 'U': src[i] = 'U'; break; > case 'V': src[i] = 'V'; break; > case 'W': src[i] = 'W'; break; > case 'X': src[i] = 'X'; break; > case 'Y': src[i] = 'Y'; break; > case 'Z': src[i] = '5'; break; > case '1': src[i] = '1'; break; > case '2': src[i] = 'S'; break; > case '3': src[i] = 'E'; break; > case '5': src[i] = 'Z'; break; > case '8': src[i] = '8'; break; > default: > return false; > } > } > > //now compare the two strings > > for(i=0; i<len; i++) > { > if(originalstr[i] != src[len - 1 - i]) > return false; > } > > return true; > } > > int main() > { > char test[100]; > > while(scanf("%s", test) != EOF) > { > if((is_parlindrome(test) == false) && (is_mirrored(test) == false)) > { > cout<<test<<" -- is not a palindrome."<<endl; > cout<<endl; > continue; > } > if((is_parlindrome(test) == true) && (is_mirrored(test) == false)) > { > cout<<test<<" -- is a regular palindrome."<<endl; > cout<<endl; > continue; > } > if((is_parlindrome(test) == false) && (is_mirrored(test) == true)) > { > cout<<test<<" -- is a mirrored string."<<endl; > cout<<endl; > continue; > } > if((is_parlindrome(test) == true) && (is_mirrored(test) == true)) > { > cout<<test<<" -- is a mirrored palindrome."<<endl; > cout<<endl; > continue; > } > } > > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator