思路:

不要被骗了,这个操作实际上tm是在循环移位。

实现:

 #include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
while (cin >> s)
{
int n = s.length(), maxn = , cnt = , pos = -;
for (int i = ; i < n - ; i++)
{
if (s[i] == s[i + ])
{
maxn = max(maxn, cnt);
cnt = ;
pos = i;
}
else cnt++;
}
maxn = max(maxn, cnt);
if (pos != -)
{
int i = pos + ; cnt = ;
while (i != pos && s[i] != s[(i + ) % n])
{
i = (i + ) % n;
cnt++;
}
maxn = max(maxn, cnt);
}
cout << maxn << endl;
}
return ;
}
05-25 07:18