移位包含

解题思路

将它自己复制一遍
再在里面找子串

AC代码

#include<cstdio>
#include<iostream>
using namespace std;
string s1,s2;
int main()
{
   
	cin>>s1>>s2;
	s1+=s1;//首尾相连
	for(int i=0;i<s1.size();i++)//在里面找子串
	 if(s1[i]==s2[0])
	 {
   
	 	int o=i,ok=0;
	 	for(int j=0;j<s2.size();o++,j++)
	 	 if(s1[o]!=s2[j]){
   ok=1;break;}
	 	if(ok==0){
   printf("true");return 0;}
	 }
	printf("false");
	return 0;
}

谢谢