AcWing 776. 字符串移位包含问题
原题链接
简单
作者:
Saber__
,
2024-10-28 20:14:30
,
所有人可见
,
阅读 3
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string a,b;
cin >> a >>b;
if(a.size() < b.size()) swap(a,b);
//循环的次数
for(int i = 0; i < a.size(); ++i)
{
//循环位移
a = a.substr(1) + a[0];
//枚举起点 起点太后也不行,会导致加上较短的字符,甚至超出较大字符范围
for(int j = 0; j + b.size() <= a.size(); ++j)
{
//枚举当前起点往后的子串 要查找的子串是b,所以到b长度为止
int k = 0;
for(; k < b.size(); ++k)
if(a[j + k] != b[k])
break;
if(k == b.size())
{
puts("true");
return 0;
}
}
}
puts("false");
return 0;
}