样例过了为什么是wa啊
查看原帖
样例过了为什么是wa啊
590469
szsdsk楼主2022/9/28 20:07
#include<bits/stdc++.h>
using namespace std;
string rev="AEHIJLMOSTUVWXYZ12588ZS15YXWVUT2OMJLIH3A";
bool ishw(string s){
    int l=0,r=s.length()-1;
    while(l<=r){
        if(s[l]==s[r]){
            l++;
            r--;
        }
        else return false;
    }
    return true;
}

bool isjx(string s){
    int n=rev.length();
    int l=0,r=s.length()-1;
    int i,j;
    while(l<=r){
        for(i=0;i<n;i++)
            if(s[l]==rev[i])
                break;
        for(j=rev.length()-1;j>=0;j--){
            if(j==i)
                continue;
            if(s[r]==rev[j])
                break;
        }

        if(i+j==n-1){
            l++;
            r--;
        }
        else return false;
    }
    return true;
}
int main(){
    string s;
    while(cin>>s){
        if(ishw(s)&&isjx(s))
            cout<<s<<" -- is a mirrored palindrome."<<endl<<endl;
        else if(!ishw(s)&& isjx(s))
            cout<<s<<" -- is a mirrored string."<<endl<<endl;
        else if(ishw(s)&& !isjx(s))
            cout<<s<<" -- is a regular palindrome."<<endl<<endl;
        else if(!ishw(s)&& !isjx(s))
                cout<<s<<" -- is not a palindrome."<<endl<<endl;
    }
    return 0;
}
2022/9/28 20:07
加载中...