遇到的问题有:
1.一开始没有思路。
2.对erase、find函数不熟。
3.没有考虑前边一个字符串比后边一个字符串短的情况。
#include<iostream>
using namespace std;
int main()
{
// freopen("xxx.in","r",stdin);
// freopen("yyy.out","w",stdout);
string s1,s2,s11;
cin >> s1 >> s2;
s11=s1;
bool flag=false;
char a;
for(int i=0;i<s1.size();i++)
{
a=s1[0];
s1.erase(0,1);
s1=s1+a;
if(s1.find(s2)!=-1)
{
flag=true;
break;
}
}
if(flag==true)
{
cout << "true";
return 0;
}
s1=s11;
flag=false;
for(int i=0;i<s2.size();i++)
{
a=s2[0];
s2.erase(0,1);
s2=s2+a;
if(s2.find(s1)!=-1)
{
flag=true;
break;
}
}
if(flag)
cout << "true";
else
cout << "false";
// fclose(stdin);
// fclose(stdout);
return 0;
}