描述
你有一條由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陣列儲存每種顏色的燈應有...