码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces cf round#505(based on vk cup 2018 final) C. Plasticine zebra

时间:2019-01-13 12:26:43      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:def   cin   ase   mes   nbsp   连续   main   如何   std   

构造题,把整个串想象成一个环。每次把环断开并反转的时候从切口处看进去的顺序是和刚开始从头到尾的顺序是一样的。于是每次不管如何翻转最后都要找到这个环上最大的连续子段长度

#include<bits/stdc++.h>
using namespace std;
string s;
int main()
{
    cin>>s;
    int tmp=s.size();
    s=s+s;
    int ans=0;
    int len=1;
    for(int i=0;i<(int)s.size()-1;i++)
    {
        if(s[i]==b&&s[i+1]==w||s[i]==w&&s[i+1]==b)
        {
            len++;
        }
        else
        {
            ans=max(ans,len);
            len=1;
        }
    }
    ans=max(len,ans);
    printf("%d\n",min(ans,tmp));
}

 

codeforces cf round#505(based on vk cup 2018 final) C. Plasticine zebra

标签:def   cin   ase   mes   nbsp   连续   main   如何   std   

原文地址:https://www.cnblogs.com/lishengkangshidatiancai/p/10262135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!