#include<iostream>
#include<string>
#include<vector>
using namespace std;
vector<string> sub_string(string t,string s);
bool tonggou(string t,string s,int iteration=0)
{
if(t==s)
{
return true;
}
else
{
iteration+=1;
if(iteration==s.size())
{
return false;
}
int l=t.size()-1;
string p=t.substr(1,l);
t=p+t[0];
if(tonggou(t,s,iteration)==true)
{
return true;
}
if(tonggou(t,s,iteration)==false)
{
return false;
}
}
}
int main()
{
vector<string>t;
string s;
cin>>s;
int m;
cin>>m;
int i;
for(i=0;i<m;i++)
{
string y;
cin>>y;
t.push_back(y);
vector<string>o=sub_string(t[i],s);//找到了所有的子串
//判断是否是循环同构的
int k=0;
for(int j=0;j<o.size();j++)
{
cout<<o[j]<<endl;
if(tonggou(o[j],s,0)==true)
{
k++;
}
}
cout<<k<<endl;
}
return 0;
}
vector<string> sub_string(string t,string s)
{
vector<string>l;
for(int i=0;i<t.size()-s.size()+1;i++)//substr()函数代表寻找pos=i开头然后往后面找找到长度为j的字符串
{
string m=t.substr(i,s.size());
cout<<m<<"p:"<<endl;
l.push_back(m);
}
return l;
}
为什么我这个代码一个case都通不过,有人愿意帮我看看嘛