Description
Let quasi-palindromic number be such number that adding some leading zeros (possible none) to it produces a palindromic string.
String t is called a palindrome, if it reads the same from left to right and from right to left.
For example, numbers 131 and 2010200 are quasi-palindromic, they can be transformed to strings "131" and "002010200", respectively, which are palindromes.
You are given some integer number x. Check if it's a quasi-palindromic number.
Input
The first line contains one integer number x (1 ≤ x ≤ 109). This number is given without any leading zeroes.
Output
Print "YES" if number x is quasi-palindromic. Otherwise, print "NO" (without quotes).
Sample Input
131
Sample Output
YES
题解
给你一个数,判断它是不是准回文数(补全前导零使其成为回文数)
I think there is no need to tell you how to solve this problem...
//It is made by Awson on 2017.9.30 #include <set> #include <map> #include <cmath> #include <ctime> #include <queue> #include <stack> #include <vector> #include <cstdio> #include <string> #include <cstdlib> #include <cstring> #include <iostream> #include <algorithm> #define LL long long #define Min(a, b) ((a) < (b) ? (a) : (b)) #define Max(a, b) ((a) > (b) ? (a) : (b)) using namespace std; void read(int &x) { ; ); ch = getchar()); ; isdigit(ch); x = (x<<)+(x<<)+ch-, ch = getchar()); x *= -*flag; } ]; void work() { read(x); ; while (x) { a[++top] = x%; x /= ; } ; ; i <= top && a[i] == ; i++) cnt++; ; i <= cnt; i++) top++; ; ; i <= top/; i++) ]) { flag = ; break; } printf(flag ? "NO\n" : "YES\n"); } int main() { work(); ; }