You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
602 B

2 years ago
#include<bits/stdc++.h>
using namespace std;
int main() {
char str[100], stack[100];
int i, len, mid, next, top;
fgets(str, sizeof(str), stdin);
len = strlen(str);
mid = len / 2 - 1;//<2F><><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>
top = 0;//<2F><>ʼ<EFBFBD><CABC>ջ
for (i = 0; i <= mid; i++) { //<2F><>midǰ<64><C7B0><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ջ
stack[++top] = str[i];
}
//<2F>ж<EFBFBD><D0B6>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><C5BC><EFBFBD><EFBFBD><EFBFBD>Ծ<EFBFBD><D4BE><EFBFBD><EFBFBD><EFBFBD>Ҫƥ<D2AA><C6A5><EFBFBD>ĺ<EFBFBD><C4BA>벿<EFBFBD><EBB2BF><EFBFBD><EFBFBD>ʼ<EFBFBD>±<EFBFBD>
next = (len % 2) ? (mid+2) : (mid+1);
//<2F><>ʼƥ<CABC><C6A5>
for (i = next; i <= len - 1; i++) {
if (str[i] != stack[top]) break;
top--;
}
//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>
if (top == 0)
printf("YES\n");
else
printf("No\n");
return 0;
}