你有一條項鍊,它由
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
figure a figure b
r red bead
b blue bead
w white bead
a 也可以用乙個由b 和
r 組成的字串直接表示,
b 代表藍色而
r 代表紅色,如下所示:
brbrrrbbbrrrrrbrrbbrbbbbrrrrb。
假設你想從項鍊的某處將它截斷拉直;接著從一端向另外一端數收集同顏色的珠子,直到碰到乙個不同顏色的珠子為止;然後再從另外一端做同樣的操作。
(一端收集的珠子顏色可以不同於另一端的。)
請想辦法找到乙個截斷項鍊的位置,能夠讓我們盡量多地收集到同色的珠子。
如圖a
中的項鍊,從第
9 和第
10 個或者第
24 和
第25
個珠子中間截斷,則我們可以收集到
8 個珠子。 圖
b 中的項鍊有白色的珠子,當遇到白色的珠子時,它既可以作為藍色的珠子看待,也可以作為紅色的珠子看待,由收集珠子時的需求決定。包含有白色珠子的項鍊則會由r、
b 和w 字元組成的字串來表示。
請編寫乙個程式計算從某條項鍊中能夠收集到多少個珠子。
第一行:
n,項鍊上珠子的個數
第二行:乙個字串,長度為n,由
r、b和
w字元組成
輸出一行字元,它應該包含了計算出的結果。29
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb11
暴力
#include#includeint n, i, j;
char ch[400];
int vis[400];
int main()
for(j=0;jmax)
max=ans;
} printf("%d\n", max);
}}
BIT2014級軟體學院程式設計 10 的統計
眾所周知,琪露諾 cirno 是幻想郷 中首屈一指的天才,可以說 就是她的代名詞。然而如今,她遇到了乙個和 有關的難題。你能幫助她麼?題目是這樣的,給出兩個數 a 和 b 0 a b 10 10000 求 a 到 b 之間 包括a和b 的數字中,有多少個數字是包含9的 例如 19,910 等都是包含...
BIT2014級軟體學院程式設計 20 穿越矩陣
20 穿越矩陣 現在有乙個 m n 的整數矩陣,每一格上有乙個數字。請你編寫乙個程式計算出一條從左到右穿過矩陣的路徑,並使此路徑的費用最小。路徑的花費是指這條路徑所穿越的所有單元格中的數字之和。路徑從矩陣的左側的第一列的任意單元格開始,逐步穿過矩陣到達最右側的一列的任意單元格。每一步是指從某單元格進...
寫給我的2014級學生
時間過得很快,你們的寒假來到了,你們已經完整地度過了大學的第乙個學期,恭喜。談談我和大家的交集 程式設計。回想我們的開端 給你們演示乙個 hello world 也能激起大家的驚嘆,到你們乙個個都能做出來個人所得稅計算器 大獎賽計分器 電子詞典,部落格中的積累 oj上的狂刷,充實了整個的學期。呃,老...