题意:
      给你一个串,问你这个串是不是关于某个字母对称的,这个串是一个首位相接的圆。

思路:

      水题,直接枚举每一个为对称点试一下就行了,不解释了。

#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;
}


相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-11
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-21
  • 2021-06-10
  • 2021-06-20
  • 2022-12-23
  • 2022-01-10
相关资源
相似解决方案