時間限制: 2s
內(nèi)存限制: 192MB 提交: 220 解決: 134
題目描述
由 n(1≤n≤100) 個珠子組成的一個項鏈,珠子有紅、藍、白三種顏色,各種顏色的珠子的安排順序由鍵盤輸入的字符串任意給定。藍色用小寫字母b表示,紅色用小寫字母r表示, 白色用小寫字母w表示.
假定從項鏈的某處將其剪斷,把它擺成一條直線。先從左端向右收集同色珠子,遇到第一個異色珠子時停止. 收集過程中, 白色是一種特殊顏色, 既可以看成紅色也可以看成藍色。然后再從剩余珠子的右端向左重復上述過程。
例如:對下圖一所示的項鏈, 如果從圖一中標記的位置0處剪斷, 則按順時針順序得到wbbbwwrrbwbrrwb(如圖二所示)。這時從左端開始收集可以得到wbbbww, 共6個珠子;然后從剩余珠子右端開始收集得到wb,共2個珠子。這種剪法共可收集到6+2=8個珠子。 如果從圖一中標記的位置4處剪斷, 則按順時針順序得到wwrrbwbrrwbwbbb(如圖二所示)。這時從左端收集可以得到wwrr,共4個珠子; 然后從剩余珠子右端收集可以得到wbwbbb,共6個珠子。這種剪法共可收集到4+6=10個珠子。
要求: 在項鏈中選擇合適的剪斷位置, 使得從左右兩端收集到的珠子數(shù)目之和最大,輸出收集到的珠子數(shù)的最大值M。
輸入格式
由小寫字母b,r,w組成的字符串。此字符串記錄了一個首尾相接的項鏈從某處斷開后,按順時針順序得到的珠子的直線排列。
(1≤n≤100)
提示
零基礎同學可以先學習
視頻課程,包含C/C++、Python、百練、藍橋杯輔導、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習題,還有老師答疑,
點擊這里了解課程詳情