彩球遊戲
x博士是乙個研究兒童智力開發方法的科學家,他為幼兒教育領域做出了許多貢獻。最近,x
博士正在研究一種適合兒童的遊戲,用以輔助發展兒童的觀察力、注意力和思維能力。經過連日的構思,x博士終於設計出了一種遊戲:彩球遊戲。
彩球遊戲是一種單人參與的遊戲,遊戲首先給出一串由許多不同顏色的小球組成的小球序列,以及乙個整數引數m(m
≥2)。一段連續的具有相同顏色的小球序列稱為連續同色序列。小孩,即遊戲參與者,每次可以向任意一段連續同色序列插入乙個同色小球,使該序列的長度加一。當一段連續同色序列在插入乙個同色小球後其長度達到m
時,該序列就會**消失,然後原序列兩邊的其餘小球會重新連成一串,如果兩段相同顏色的連續同色序列在此時連線在一起,它們就會合併形成一段新的連續同色序列。如果新形成的連續同色序列長度達到m,這段序列也會**消失,然後重複上述過程,直到沒有新的長度達到m
的連續同色序列出現為止。遊戲的目標很簡單,就是插入盡量少的小球,使得所有小球都**消失掉。
通過長時間的遊戲和不斷提高遊戲水平,這個遊戲可以很好地開發兒童的觀察力、注意力和思維能力。但是x
博士仍然面臨著乙個困難的問題,他還需要設計出乙個遊戲演示ai程式,可以以最優的方式(即插入的小球數量最小)進行遊戲,用於遊戲教學,或者在遊戲中對小孩給出提示。x
博士並不擅長此類程式,因而他無法完成這個任務,你可以幫助他嗎?
輸入格式:
輸入檔案包含多組測試資料。每組測試資料第一行為整數m(2
≤m≤20),第二行為一條非空的字串,由大寫字母組成且長度不超過200,表示初始的一串小球,不同的字母表示不同的小球顏色。初始時可能會存在一些長度達到m的連續同色序列,但這些序列不會馬上**消失。
輸出格式:
每組測試資料輸出一行,表示至少需要插入多少次小球才能使所有小球**消失掉。
輸入樣例:
3aaabaaa
3abbabba
輸出樣例:22
說明:共有
5個測試資料集,每個測試資料集為乙個輸入檔案,包含多組測試資料。每個測試資料集從易到難分別為5
、10、15
、30和40
分,對每個測試資料集分別執行一次程式,每次必須在執行時限
30秒內結束程式並輸出正確的答案才能得分。
所有資料均從標準輸入裝置(stdin/cin
)讀入,並寫出到標準輸出裝置(stdout/cout
)中。五個測試資料集中輸入初始小球佇列的長度分別不大於10
、20、50
、100
和200
,各有不超過
5000組測試資料。
來自:
2006 年百度之星程式設計大賽初賽題目 5
座位調整 題目描述 調整的方法如下 1 首先將辦公區按照各種零食的擺放分成 n 個不同的區域。例如 可樂區,餅乾區,牛奶區等等 2 每個員工對不同的零食區域有不同的喜好程度 喜好程度度的範圍為 1 100 的整數,喜好程度越大表示該員工越希望被調整到相應的零食區域 3 由於每個零食區域可以容納的員工...
百度之星程式設計大賽題目
輸入格式 輸入的第一行只有乙個整數n,表示購置水果的組數。接下來的n行表示水果的到達時間 取走時間 時間用1200到1900之間的正整數表示,保證取走時間大於到達時間 剩下的字串以空格分割每一種水果。如 1400 1600 雪梨 水蜜桃 表示下午兩點到四點 包含兩點和四點這兩個時間點 雪梨和水蜜桃會...
百度之星複賽題解
problem description 眾所周知,度度熊非常喜歡數字。它最近在學習小學算術,第一次發現這個世界上居然存在兩位數,三位數 甚至n位數!但是這回的算術題可並不簡單,由於含有表示bomb的 號,度度熊稱之為 arithmetic of bomb。bomb number中的bomb,也就是 ...