http://codeforces.com/contest/1025/problem/C
题意:给你一个字符串,可以把它分成两段,每段首尾调换再拼接成新的字符串,问相邻连续不相同的最多有多少个?
直接当成环来处理就行了。
只是要注意bw这种情况。
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
int main()
{
int ans=1,mx=-1,len;
string s;
cin>>s;
len=s.size();
for(int i=0;i<4*s.size();i++)
{
/// cout<<s[i%len]<<" "<<s[(i+1)%len]<<endl;
if(s[i%len]!=s[(i+1)%len])
ans++;
else
{
mx=max(mx,ans);
ans=1;
}
mx=max(ans,mx);
}
cout<<min(mx,len)<<endl;
return 0;
}