题意:
给你一个串,问你这个串是不是关于某个字母对称的,这个串是一个首位相接的圆。
思路:
给你一个串,问你这个串是不是关于某个字母对称的,这个串是一个首位相接的圆。
思路:
水题,直接枚举每一个为对称点试一下就行了,不解释了。
#include<stdio.h> #include<string.h> char str[110]; int main () { while(~scanf("%s" ,str) && strcmp(str ,"#")) { int len = strlen(str); int mk = -1; for(int i = 0 ;i < len ;i ++) { int q = len / 2; int low = i - 1 ,up = i + 1; if(low == -1) low = len - 1; if(up == len) up = 0; while(q--) { if(str[low] != str[up]) break; low -- ,up ++; if(low == -1) low = len - 1; if(up == len) up = 0; } if(q == -1) { mk = i; break; } } if(mk == -1) puts("NO"); else printf("YES %d\n" ,mk); } return 0; }
本文介绍了一种简单的方法来判断一个首尾相连的圆形字符串是否关于某个字母对称。通过枚举每个可能的对称点并进行比较,可以有效地解决这个问题。
5217

被折叠的 条评论
为什么被折叠?



