BIT2014級軟體學院程式設計 12 程式設計珠璣

2021-07-10 06:00:55 字數 1894 閱讀 6429

你有一條項鍊,它由

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上的狂刷,充實了整個的學期。呃,老...