/*
ID: xiao
TASK: beads
LANG: C++
*/#include <iostream>
#include <fstream>
#include <string>
#include <vector>using namespace std;
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
int N;
string str;
int lft[2][1000]={0};
int rigt[2][1000]={0};int main(){ofstream fout("beads.out");ifstream fin("beads.in");fin >> N;fin >> str;str += str;for(int i= str.size(); i>0;i--){if (str[i-1]=='r'){lft[0][i] = lft[0][i+1] + 1;lft[1][i] = 0;}else if(str[i-1]=='b'){lft[1][i] = lft[1][i+1] + 1;lft[0][i] = 0;}else{lft[0][i] = lft[0][i+1] + 1;lft[1][i] = lft[1][i+1] + 1;}}for(int i=1; i<=str.size() ; i++){if (str[i-1]=='r'){rigt[0][i] = rigt[0][i-1] + 1;rigt[1][i] = 0;}else if(str[i-1]=='b'){rigt[1][i] = rigt[1][i-1] + 1;rigt[0][i] = 0;}else{rigt[0][i] = rigt[0][i-1] + 1;rigt[1][i] = rigt[1][i-1] + 1;}}int sum=-1;int t1,t2;for(int i=1; i<=N; i++){t1 = max(lft[0][i],lft[1][i]);t2 = max(rigt[0][N+i-1],rigt[1][N+i-1]);sum = max(sum,t1+t2);}if(sum<N)fout << sum << endl;elsefout << N << endl;return 0;
}

USACO-beads相关推荐

  1. USACO beads

    题意是给你一串首尾相连的珠子, 珠子有b r w三种颜色, 然后让你统计某两个珠子中间到两边相同珠子的最大数量是多少??刚开始我选择了暴力求解, 后来看题解后有一种dp的方法, 感觉蛮赞的..代码如下 ...

  2. 【usaco】beads

    最近在做usaco的题目,想趁着最近没什么事情做掉这些题 后面还想做什么再说吧,感觉大四把usaco刷掉就已经足够了,貌似没什么时间做别的 题目粘贴如下 Broken Necklace You hav ...

  3. USACO Broken Necklace

    去掉题目的背景:就是一个环形的串中,寻找一个最长的子串,该串由前后由俩部分组成,连续的b串和连续的r串,当然,一种颜色也可以:w可转变成任意颜色: 我的思路:比较简单的思路,但是是一个复杂度O(n^2 ...

  4. USACO Section 1.2 Broken Necklace

    题目 题目分析 推的过程 需要避免的坑 整体代码 USACO的题解 题目 题目描述 输入描述 Line 1: N, the number of beads Line 2: a string of N ...

  5. usaco Shaping Regions

    这就是usaco 前面的windows area的变形. /* ID:jinbo wu TASK:rect1 LANG:C++ */ #include<iostream> #include ...

  6. usaco Postal Vans(dp)

    是哈密顿回路,然后...就不知道怎么写了 ,以前写过类似的不过情况没这么多也没这么复 usaco training 6.1.1 Postal Vans 题解 标签: usaco training题解d ...

  7. usaco Beef McNuggets

    这两天贼烦,ccf炸了,还有一个烦心事.哎我都不知道自己能不能坚持下去了.马上期末考了.这段时间还是抓紧时间复习吧同时刷usaco的节奏要跟以前一样了,毕竟课少了. 题解: 只要你知道以下的数论结论, ...

  8. usaco前两章小结

    usaco 暑假老师有推荐做但是那个题目太长了,而且·大部分都是废话做起来特别慢,而且当时自己基本上什么都不懂,太难了所以看了题解做了两题就放弃了. 转眼就上学了,因为想学习acm所以就胡乱找题做但是 ...

  9. usaco ★Fractions to Decimals 分数化小数

    ★Fractions to Decimals 分数化小数 写一个程序,输入一个形如 N/D 的分数(N 是分子,D 是分母),输出它的小数形式. 如果小数有循环节的话,把循环节放在一对圆括号中.例如, ...

  10. usaco ★Bessie Come Home 回家

    ★Bessie Come Home 回家 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰按响了电铃,所以她们开始向谷仓走去. 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有 ...

最新文章

  1. 深度学习中的Dropout简介及实现
  2. 清除病毒后经常遇到的系统修复问题
  3. 调用settings中的常数
  4. linux mysql5.7.9下载_关于linux-Centos 7下mysql 5.7.9的rpm包的安装方式
  5. python函数type的用意_python之type函数
  6. lucene,基于QueryParser的搜索
  7. PowerDesigner的逆向工程.
  8. jenkins配置工程目录-启动case
  9. 任务完成:我从CNC2018 GetAJob挑战中学到的东西
  10. android 中的 odex 文件
  11. 锻造完美U盘小偷:活用消息机制
  12. LINUX下载编译libvpx
  13. Json类型的转化 及 JsonArray,JsonObject详解
  14. 运行QTP测试脚本后,将编译结果写入指定文件(四)
  15. 便宜又大碗!AI将画廊轻松搬到自家墙壁;用隐写术在图像中存储文件;免费书·算法高维鲁棒统计;关节式手部模型数据集;前沿论文 | ShowMeAI资讯日报
  16. python标准库-math数学函数库介绍
  17. python京东预约抢购_python 脚本实现京东抢购
  18. 嵌入式软件项目流程、项目启动说明书(示例)
  19. java 线程 设计模式_Java多线程设计模式(四)
  20. 归并排序(默认2路归并)

热门文章

  1. 一套从失败和亏损中走出来的实战交易系统
  2. 学习日记-----函数
  3. 【P52】基于继电器的音频静音电路
  4. 换个角度看戴尔科技集团的现在与未来
  5. Win32学习(七) 鼠标消息
  6. GAMES101蒙特卡洛光线追踪及Assignment7
  7. 2023年1月中国数据库排行榜:OceanBase 持续两月登顶,前四甲青云直上开新局
  8. Github上有趣的100个python项目
  9. python自动化(一)基础能力:3.python基础上之数据类型,函数,面向对象
  10. 蚂蚁感冒(简单数论)