题目描述:

你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的。 这里是 n=29 的二个例子:

                1 2                               1 2r b b r                           b r r br         b                       b         br           r                     b           rr             r                   w             rb               r                 w               wb                 b               r                 rb                 b               b                 bb                 b               r                 br               r                 b               rb             r                   r             rb           r                     r           rr       r                         r       br b r                             r r w图片 A                             图片  Br 代表 红色的珠子      b 代表 蓝色的珠子   w 代表 白色的珠子

第一和第二个珠子在图片中已经被作记号。
图片 A 中的项链可以用下面的字符串表示:

 brbrrrbbbrrrrrbrrbbrbbbbrrrrb

假如你要在一些点打破项链,展开成一条直线,然后从一端开始收集同颜色的珠子直到你遇到一个不同的颜色珠子,在另一端做同样的事(颜色可能与在这之前收集的不同)。 确定应该在哪里打破项链来收集到最大数目的珠子。
例如,在图片 A 中的项链中,在珠子 9 和珠子 10 或珠子 24 和珠子 25 之间打断项链可以收集到8个珠子。

白色珠子什么意思?

在一些项链中还包括白色的珠子(如图片B) 所示。
当收集珠子的时候,一个被遇到的白色珠子可以被当做红色也可以被当做蓝色。
表现含有白珠项链的字符串将会包括三个符号 r , b 和 w 。
写一个程序来确定从一条被给出的项链可以收集到的珠子最大数目。

程序名称

beads

输入格式

第 1 行: N, 珠子的数目
第 2 行: 一串长度为N的字符串, 每个字符是 r , b 或 w。

样例输入

(文件 beads.in)

29
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb

输出格式

单独的一行 最大可能取得的珠子数

样例输出

(文件 beads.out)

11

时间限制: 1000ms
空间限制: 128MB

代码如下:

#include <iostream>
using namespace std;
int main(){int n, max=0,a,x,j;string s;char c;cin>>n>>s;s=s+s;for(int i=0;i<n;i++){c=(char) s[i];if(c=='w'){x=0;}else{x=1;}j=i;a=0;while(x<=2){while(j<n+i&&(s[j]==c||s[j]=='w')){a++;j++;}x++;c=s[j];}if(a>max){max=a;}}cout<<max<<endl;return 0;
}

USACO 1.1.4Broken Necklace 破碎的项链相关推荐

  1. Broken Necklace破碎的项链

    Broken Necklace破碎的项链 你有一条由 N 个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子:         ...

  2. 【USACO题库】1.1.4 Broken Necklace破碎的项链

    题目描述: 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=35000),珠子是随意安排的. 这里是 n=29 的二个例子: 1 2 1 2r b b r b r r b ...

  3. 【USACO1.1_4】★Broken Necklace 破碎的项链

    你有一条由N 个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里 是 n=29 的二个例子: 1 2 1 2r b b r b r r br b b ...

  4. 【USACO 1.1.4】破碎的项链

    [题目描述] 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的.这里是 n=29 的二个例子: 1 2                      ...

  5. 如何规划创建并长期维护一个Github开源项目?

    title: 如何规划创建并长期维护一个Github开源项目? tags: 开源 程序 Github zhaoolee categories: 极客 2021年, 国内各路论坛已经铺满屠龙宝刀点击就送 ...

  6. USACO Section 1.2 Broken Necklace

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

  7. 破碎的项链 Broken Necklace

    破碎的项链 Broken Necklace.cpp 自 信 地 说 这 道 题 我 做 过 --------------分割线------------------ 从中间开始,然后找到第三个点(是w) ...

  8. USACO - Chapter1 Section 1.1 - Broken Necklace

    Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子: 第一和第二个珠子在 ...

  9. USACO Training Section 1.1 坏掉的项链Broken Necklace

    题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子: 第一和第二个珠子在图片中已经被作记号. 图片 A ...

最新文章

  1. 奇葩错误:cv.imread()读取失败
  2. 如何解决:“ UnicodeDecodeError:#39;ascii#39;编解码器无法解码字节”
  3. 【正一专栏】曼城攻击力惊人露出冠军相
  4. ZooKeeper编程
  5. 第十二天:规划成本管理,成本类型, 资产折旧;和 估算成本,估算成本知识点提示
  6. c语言常用符号与英文,C语言常用符号与英文(7页)-原创力文档
  7. 【深搜】 棋盘 【NOIp普及组 2017 第三题】 (luogu 3956/ssl 2851)
  8. nginx+php-fpm 502 bad gateway
  9. android模块编译错误,android studio编译出错:Android resource linking failed
  10. @Configuration 和 @Component 区别
  11. 2017-4-20实体类,数据访问类.字符串攻击.防攻击
  12. 非命令行linux安装zip,如何在Ubuntu 18.04 Bionic Beaver Linux上使用命令行从ZIP文件安装Gnome Shell Extensions...
  13. c#中using 和new
  14. BZOJ3172lg3966 TJOI单词(广义后缀自动机)
  15. android 控件xpath软件_Appium-关于appium的原生控件的 xpath 定位问题及常用方法
  16. JavaWeb学习 (二十六)————监听器(Listener)学习(二)
  17. 面试技巧(一)〔参加笔试、面试的技巧〕
  18. 盐城机电高等职业技术学校计算机专业,盐城机电高等职业技术学校
  19. S的Qt界面预览和QtCreator的界面预览快捷键
  20. 5-8 哈利·波特的考试 (25分)

热门文章

  1. 江湖2 java_热血江湖2手游一键端源码搭建教程+APP端+WEB端+GM工具
  2. 长沙市21中2021年高考成绩查询,长沙几大高中名校2020年高考成绩放榜了,这样的成绩你满意吗...
  3. Marple表演电影字幕
  4. 加强版RFM模型,轻松扒出B站优质up主!
  5. 非计算机专业买几寸电脑好,学习计算机网路技术专业,是不是需要买电脑啊
  6. 光盘、软盘、硬盘、U盘、磁条卡、芯片卡和复合卡之间的区别与联系
  7. python读取游戏数据_用Python抓取并分析了1982场英雄联盟数据,教你开局前预测游戏对局胜负!...
  8. 拉卡拉支付:以技术为核心驱动金融变革
  9. 分布式持久内存文件系统Octopus(ATC-17 )分析(二)
  10. 新手上路:什么是API接口