#include <stdio.h>
#include <string.h>
int is_left_move(char* str1, char* str2)
{
int len1 = strlen(str1);//测量两个串的长度,假如长度对不上号,直接return 0;
int len2 = strlen(str2);
char* ret = strstr(str1, str2);//利用库函数strstr,寻找str1中是否出现子串str2,若未出现则返回空指针NULL,说明串str2不是左右移动过的结果
if (len1/2 != len2)
return 0;
else if (ret == NULL)
return 0;
else
return 1;
}
int main()
{
char arr1[256];
char arr2[256];
scanf("%s", arr1);
scanf("%s", arr2);
strcat(arr1, arr1);//将串arr1本身复制到自己的数组(注意保证数组的大小足够,不会溢出)
//以abcdef为例,则arr1变成abcdefabcdef,这样arr1就储存了所有左右移动的可能
int ret = is_left_move(arr1, arr2);
if (ret)printf("Yes");
else printf("No");
return 0;
}