AtCoder Beginner Contest 159 比赛人数8276 快,比赛开始后3分钟看到所有题
AtCoder Beginner Contest 159 B String Palindrome 回文
总目录详见https://blog.csdn.net/mrcrack/article/details/104454762
在线测评地址https://atcoder.jp/contests/abc159/tasks/abc159_b
编写判断回文的函数,判断整个串,判断左串,判断右串,三关都过,打印Yes,否则打印No
AC代码如下
#include <stdio.h>
#include <string.h>
char in[110];
int isPa(int l,int r,char *s){//0非回文,1回文,l字串最左字母的位置,r字串最右字母的位置
int i,len;
len=r-l+1;
for(i=0;i<len/2;i++)//i是偏移量,自觉这种写法甚好
if(s[l+i]!=s[l+len-1-i])
return 0;
return 1;
}
int main(){
int i,len;
scanf("%s",in);
len=strlen(in);
if(!isPa(0,len-1,in)){//整串
printf("No\n");
return 0;
}
if(!isPa(0,len/2-1,in)){//左串
printf("No\n");
return 0;
}
if(!isPa(len/2+1,len-1,in)){//右串
printf("No\n");
return 0;
}
printf("Yes\n");
return 0;
}