A.Quasi-palindrome

来源:互联网 发布:阿里云机顶盒破解 编辑:程序博客网 时间:2024/06/03 19:37

个人记录成长经历
M201709301124
(题目来自网络)

A. Quasi-palindrome

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Let quasi-palindromic numberbe such number that adding some leading zeros (possible none) to it produces apalindromic string.

String t is calleda 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 givensome integer number x. Check if it'sa quasi-palindromic number.

Input

The first linecontains one integer number x (1 ≤ x ≤ 109). This numberis given without any leading zeroes.

Output

Print "YES" ifnumber x is quasi-palindromic.Otherwise, print "NO" (without quotes).

Examples

input

131

output

YES

input

320

output

NO

input

2010200

output

YES

#include <stdio.h>#include <stdlib.h>#include <math.h>//A.Quasi-palindromeint main(){int num=0; int TF1=0;while(TF1==0){scanf("%d",&num);if( num>=1 && num<=pow(10,9) ){TF1=1;}else{printf("input err");}} int a[9];//权位 //因1<=num<=10^9,num至多10位int l=-1, r=-1; //        l       r//a[i]: 0 1 5 3 4 5 0 0 //  i : 7 6 5 4 3 2 1 0 for( int i=0; i<=9; i++)\{a[i]=num%10;num=(num-a[i]) / 10;if(r==-1)if(a[i]!=0)r=i;}for( int i=9; i>=0; i--){if(a[i]!=0){l=i; break;}}int isthenum=1;for ( int i=0; i<=l-r; i++) {if(a[r+i]!=a[l-i]){isthenum=0;break;}}if(isthenum==1){printf("YES\n");}else{printf("NO\n");}return 0;}

 
原创粉丝点击