#include <iostream>
#include <algorithm>
#include "vector"
#include "string"
#include "set"
#include "unordered_set"
#include "unordered_map"
#include "queue"
#include "stack"
using namespace std;
//int repeatedStringMatch(string A, string B)
//{
// //string::size_type idx = A.find(B);
// int count = 0;
// string a = A;
// for (int i = 0; i <= 2* a.length(); a += A,++count)
// {
// if (a.find(B) != string::npos)//C++判断字符串中是否包含某个字符串
// {
// return ++count;
// }
// }
// return -1;
//}
int repeatedStringMatch(string A, string B)
{
int count = 0;
string a;
while (a.size() < B.size())
{ // 使A达到刚好比B长的情况,记录此时的重复次数
a.append(A);
count++;
if (a.find(B) != -1)
{
return count;
}
}
if (a.find(B) != -1)
{
return count;
}
a.append(A); // 再加一次A
count++;
if (a.find(B) != -1)
{ // 保证A的所有的字符都能被B索引一次
return count;
}
return -1;
}
int main()
{
cout << repeatedStringMatch("abcd","cdabcdab");
system("pause");
return 0;
}