题解 CF863A 【Quasi-palindrome】

其实我们只需要按照程序模拟即可,读入一个字符串,在前面加前导0,同时做一个判断回文函数:

bool huiwen(string s)
{
    string x = s;
    reverse(x.begin(), x.end());
    return x == s;
}

接下来511ms的简单代码来啦:

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

string s;

bool huiwen(string s)//判断是否回文
{
    string x = s;
    reverse(x.begin(), x.end());
    return x == s;
}

int main()
{
    cin >> s;
    if(huiwen(s))
    {
        cout << "YES\n";
        return 0;
    }
    for(int i = 1; i <= 10; i++)//10遍就够了
    {
        s = '0' + s;//注意是'0'+ s不是s + '0'
        if(huiwen(s))//如果是回文就是YES
        {
            cout << "YES\n";//不然就是NO
            return 0;
        }
    }
    cout << "NO\n";
    return 0;
}
posted @ 2020-10-13 20:20  HappyBobb  阅读(4)  评论(0)    收藏  举报  来源