Wide Flip(关于字符反转的问题)
题意:求最大的k使得01字符串变成0串。可进行操作:把区间长度大于等于k的区间里的字符翻转(0变1,1变0)。
hint:当相邻两个字符不相同的时候,我们需要改变其中的某一个字符(此时取长度大的那个,同时更新一下答案),使得两个字符相同,经过不断操作,我们可以保证最后所有不同的地方都能改变,即把字符串变成全0串,或全1串(全1再更新一下,也是全0串)。
```
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
string str;
cin>>str;
int ans=str.size();
for(int i=0;i<str.size()-1;++i){
if(str[i]!=str[i+1]){
int d = max(i+1,(int)str.size()-i-1);
ans = min(d,ans);
}
}
cout<<ans<<endl;
return 0;
}