首页 > 其他 > 详细

P1203 [USACO1.1]坏掉的项链Broken Necklace

时间:2017-10-17 09:31:14      阅读:285      评论:0      收藏:0      [点我收藏+]

P1203 [USACO1.1]坏掉的项链Broken Necklace
不错的断环为链的模拟题,开成三倍,有很多细节要考虑,比如总长度要<=n,开头第一个是w等等。

#include<bits/stdc++.h>
using namespace std;
char c[10000];
int n;
int ans=-2147483647;

int r(int x)
{
    int r=x;
    char t;
    while(c[r]==w)
    r++;
    t=c[r];
    while(c[r+1]==t||c[r+1]==w)
    r++;
    return (r-x+1>n?n:r-x+1);
}   

int l(int x)
{
    int l=x;
    char t;
    while(c[l]==w)
    l--;
    t=c[l];
    while(c[l-1]==t||c[l-1]==w)
    l--;
    return (x-l+1>n?n:x-l+1);
}

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>c[i+n];
        c[i]=c[i+n];
        c[i+2*n]=c[i+n];
    }
     for(int i=n;i<2*n;i++)
       ans=max(ans,l(i)+r(i+1));
       cout<<min(ans,n);    
  return 0;
}

 

P1203 [USACO1.1]坏掉的项链Broken Necklace

原文:http://www.cnblogs.com/war1111/p/7679823.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!