壞掉的項鍊

2021-07-02 01:36:51 字數 2014 閱讀 7909

描述

你有一條由n個紅色的,白色的,或藍色的珠子組成的項鍊(3<=n<=350),珠子是隨意安排的。 這裡是 n=29 的二個例子:

1 2                               1 2

r b b r b r r b

r b b b

r r b r

r r w r

b r w w

b b r r

b b b b

b b r b

r r b r

b r r r

b r r r

r r r b

r b r r r w

a b

r 代表 紅色的珠子

b 代表 藍色的珠子

w 代表 白色的珠子

第一和第二個珠子在中已經被作記號。

a 中的項鍊可以用下面的字串表示:

brbrrrbbbrrrrrbrrbbrbbbbrrrrb

假如你要在一些點打破項鍊,展開成一條直線,然後從一端開始收集同顏色的珠子直到你遇到乙個不同的顏色珠子,在另一端做同樣的事(顏色可能與在這之前收集的不同)。 確定應該在**打破項鍊來收集到最大數目的珠子。

例如,在 a 中的項鍊中,在珠子 9 和珠子 10 或珠子 24 和珠子 25 之間打斷項鍊可以收集到8個珠子。

白色珠子什麼意思?

在一些項鍊中還包括白色的珠子(如b) 所示。

當收集珠子的時候,乙個被遇到的白色珠子可以被當做紅色也可以被當做藍色。

表現含有白珠項鍊的字串將會包括三個符號 r , b 和 w 。

寫乙個程式來確定從一條被給出的項鍊可以收集到的珠子最大數目。

[編輯] 格式

program name: beads

input format:

(file beads.in)

第 1 行: n, 珠子的數目

第 2 行: 一串長度為n的字串, 每個字元是 r , b 或 w。

output format:

(file beads.out)

單獨的一行 最大可能取得的珠子數。

[編輯] sample input

29 wwwbbrwrbrbrrbrbrwrwwrbwrwrrb

[編輯] sample output

usaco是美國國家隊的訓練**,建議oier們要做掉前三章的題目,看不懂英文的話,nowco就是最愛,裡面有全篇翻譯和題解。

#include 

#include

using

namespace

std;

int main()

if (temp+num>ans) ans=temp+num;//

cout

<<(ans>n?n:ans)return

0;}

壞掉的項鍊

題目鏈結 題目描述 你有一條由 nnn 個紅色的,白色的,或藍色的珠子組成的項鍊,珠子是隨意安排的。這裡是 n 29n 29n 29 的兩個例子 第一和第二個珠子在中已經被作記號。假如你要在一些點打破項鍊,展開成一條直線,然後從一端開始收集同顏色的珠子直到你遇到乙個不同的顏色珠子,在另一端做同樣的事...

壞掉的項鍊 破環成鏈

你有一條由n個紅色的,白色的,或藍色的珠子組成的項鍊 3 n 350 珠子是隨意安排的。這裡是 n 29 的二個例子 第一和第二個珠子在中已經被作記號。brbrrrbbbrrrrrbrrbbrbbbbrrrrb 假如你要在一些點打破項鍊,展開成一條直線,然後從一端開始收集同顏色的珠子直到你遇到乙個不...

EOJ 3188 壞掉的彩燈

bob 有一串節日彩燈,彩燈共有 4 種顏色 r,b,y,g 表示 可惜有一些燈泡已經壞掉了 表示 bob 並不記得彩燈的序列,只記得這串彩燈的任意 4 個連續的燈泡顏色都不相同。bob 需要統計每種顏色壞掉的彩燈有多少個。0123下標對應rbyg四種顏色。其中tot和ans陣列儲存每種顏色的燈應有...