求助,为什么会wa?
查看原帖
求助,为什么会wa?
671260
Nekomusume楼主2022/8/15 20:45

rt,样例过了,也控制了最后的换行符

#include <iostream>
using namespace std;

string flaga = {"A   3  HIL JM O   2TUVWXY5"};
string flagb = {"1SE Z  8 "};

bool pal(string s)
{
    string str = "";
    for(int i = s.size() - 1; i >= 0; i--)
    {
        str += s[i];
    }
    if(str == s)return 1;
    else return 0;
}

bool mir(string s)
{
    string str = "";
    for(int i = s.size() - 1; i >= 0; i--)
    {
        if(s[i] >= 'A' && s[i] <= 'Z')str += flaga[s[i] - 'A'];
        else str += flagb[s[i] - '1'];
    }
    if(s == str)return 1;
    else return 0;
}

int main()
{
    string s;
    cin >> s;
    int fg = 0;
    do
    {
        if(fg)cout << endl;
        if(!pal(s) && !mir(s))cout << s << " -- is not a palindrome.";
        else if(pal(s) && !mir(s))cout << s << " -- is a regular palindrome.";
        else if(!pal(s) && mir(s))cout << s << " -- is a mirrored string.";
        else if(pal(s) && mir(s))cout << s << " -- is a mirrored palindrome.";
        fg = 1;
    }while(cin >> s);
    return 0;
}
2022/8/15 20:45
加载中...