样例过了但是wa了
查看原帖
样例过了但是wa了
1002538
piaochong楼主2024/11/13 20:38

这哪错了?

#include <bits/stdc++.h>
using namespace std;
map<char,char> m;
bool hui(string s)
{
    int l=0,r=s.size()-1;
    while(l!=r)
    {
        if(s[l]!=s[r])
        {
            return false;
        }
        else
        {
            l++;
            r--;
        }
    }
    return true;
}
bool jing(string s);
int main()
{
	
    string s;
    m['A']='A';
    m['E']='3';
    m['H']='H';
    m['I']='I';
    m['J']='L';
    m['L']='J';
    m['M']='M';
    m['O']='O';
    m['S']='2';
    m['T']='T';
    m['U']='U';
    m['V']='V';
    m['W']='W';
    m['X']='X';
    m['Y']='Y';
    m['Z']='5';
    m['1']='1';
    m['2']='S';
    m['3']='E';
    m['5']='Z';
    m['8']='8';
    //cout << jing("2A3MEAS");
    while(cin >> s)
    {
        if(!hui(s)&&!jing(s))
        {
            cout << s << " -- "<< "is not a palindrome.\n\n"; 
        }else if(hui(s)&&!jing(s))
        {
            cout << s << " -- " << "is a regular palindrome.\n\n";
        }else if(!hui(s)&&jing(s))
        {
            cout << s << " -- " << "is a mirrored string.\n\n";
        }else if(hui(s)&&jing(s))
        {
            cout << s << " -- " << "is a mirrored palindrome.\n\n"; 
        }
    }
    return 0;
}
bool jing(string s)
{
    string s1="";
    for(int i=0;i<s.size();i++)
    {
        s1+=m[s[i]];
    }
    int cnt=0;
    for(int i=s.size()-1;i>=0;i--)
    {
        if(s[cnt]!=s1[i])
        {
            //cout << s[i-(s.size()-1)] << " " << s1[i] << "\n";
            return false;
        }
        cnt++;
    }
    return true;
}
2024/11/13 20:38
加载中...