zoj 1325 Palindromes

zoj 1325 Palindromes,第1张

zoj 1325 Palindromes
#include <cstdio>#include <cstring>#include <cstdlib>#include <vector>#include <cmath>#include <iostream>#include <algorithm>#include <functional>#include <string>#include <map>using namespace std;char ss[]="E3JLS2Z5AHIMOTUVWXY18";int slen;bool ishave(char c){    for(int i=0; i<slen; i++)    {        if(c==ss[i]) return true;    }    return false;}char get(char c){    switch(c)    {    case 'E':        return '3';    case 'J':        return 'L';    case 'S':        return '2';    case 'Z':        return '5';    case '3':        return 'E';    case 'L':        return 'J';    case '2':        return 'S';    case '5':        return 'Z';    default :        break;    }    return c;}int main(){    char str[1000];    slen=strlen(ss);    while(scanf("%s",str)!=EOF)    {        int len = strlen(str);        int i=0,j=len-1;        bool ispalindrome=true;        bool ismirrored  =true;        while(i<j)//ispalindrome        { if(str[i]!=str[j]) {     ispalindrome=false;     break; } i++; j--;        }        char tmp[1000];        strcpy(tmp,str);        for(int i=0;i<len;i++)        { if(ishave(tmp[i]))     tmp[i]=get(tmp[i]); else {     ismirrored=false;     break; }        }        if(ismirrored)        { for(int i=0,j=len-1;i<len;i++,j--) {     if(str[i]!=tmp[j])     {         ismirrored=false;         break;     } }        }        if(ispalindrome)        { if(ismirrored)// true true {     printf("%s -- is a mirrored palindrome.n",str); } else//true false {     printf("%s -- is a regular palindrome.n",str); }        }        else        { if(ismirrored) {     printf("%s -- is a mirrored string.n",str); } else {     printf("%s -- is not a palindrome.n",str); }        }        printf("n");    }    return 0 ;}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4894174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存