$\text{BaconToast}$ 遇到了一个神奇的山洞,当他对着山洞大喊一句话,山洞会传来相反的回声,且如果音量小,回声大;如果音量大,回声小。
给出一个只包含字母和数字的字符串,请你判断这个字符串是否符合要求。
输入包含多组数据(不超过 $10$ 组),每组数据输入一行字符串,只含字母和数字,字符串长度不超过 $10^3$ 。
判断该字符串是否满足以下要求:
如果满足要求,输出 yes
;否则输出 n0
。每组数据之间通过换行隔开。
BaconToastSAOtNOCAb
debug20244202GUBED
IloveBUAAAaubEVOLi
yes
yes
n0
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char s[1005];
while(scanf("%s", &s) != EOF) {
int len = strlen(s), flag = 1;
for (int i = 0; i < len / 2 - 1; i++) {
if (isalpha(s[i])) {
if (islower(s[i]) && s[len - i - 1] != s[i] - 'a' + 'A') {
printf("no\n");
flag = 0;
break;
}
else if (isupper(s[i]) && s[len - i - 1] != s[i] - 'A' + 'a') {
printf("no\n");
flag = 0;
break;
}
}
else {
if (s[i] != s[len - i - 1]) {
printf("no\n");
break;
}
}
}
printf("yes\n");
}
return 0;
}
Author: $\text{BaconToast}$