PSP出來一陣子了。隨著PSP出來的一款遊戲,叫作 “DJmax Portable 2”。
簡單的講,這是一個節奏遊戲。DJmax 的特點,強調歌曲的節奏感。一般來講,DJmax歌曲的按鍵音,是以鼓聲等等的打擊樂器,讓玩家有身為DJ的感覺。
如果你想知道的更多,你可以從下面的網址觀看。
http://www.youtube.com/watch?v=2pxsq-nA6o4
http://tw.youtube.com/watch?v=ZKb9xmvV00E
類似其它節奏遊戲,DJmax也有連擊數(combo)。如果在遊戲過程中沒有失誤,combo越多,分數也就越高。此外,DJmax除了單鍵音(塊狀,按一下即可),也有連續音(條狀連續,需久按)。準確的彈到單鍵音,毫無疑問,combo數加上1,但準確的彈到連續音,則視連續音的長度,長度越長,combo數也加的越多。在節奏遊戲中這算是一種創新,因為當玩家看到combo數快速增加,會越彈越好,越彈越有精神。
除此之外,DJmax還有一種東西叫作fever。當彈對的鍵數達到一定的個數時,就有發動fever的機會。當你發動fever,你將有一段時間讓所按到的鍵combo數x2。換句話說,在這段時間中,每按到一個單鍵音,combo數都是加2,連續音也是以一定的頻率翻高2。更甚者,如果你有辦法在這段時間內再集到一次fever,那麼再一次發動則是combo數x3,同樣的,你擁有一段時間為下一次fever作準備,往下則依此類推。如果在時間內無法集到fever,則變回原本的模式,也就是彈一個鍵combo只加上1。
fever的出現,大大增加了整個遊戲的可玩性。
想像你和一群選手在鬥陣,這次的比賽是六鍵的比賽(6-button competition)。你們這群高手號稱有不敗的記錄,不管是哪首歌,都可以”max combo”(整首曲子每個鍵都彈到,沒有失誤)。這時候,fever就很重要了。你要在哪個時機發動fever,讓你的combo數盡量的多,那麼你的分數絕對比別人高。
為了讓題目簡化,在此我們規定一些事情。每首歌都是4/4拍,且最短音符為十六分音符。換句話講,每個小節只會有4拍,每拍最多有4個音符。在一般的情況下,連續音的combo增加方法,當按下去的那一瞬間combo數加1,之後每半拍都加1。當你彈對的個數累積到20個音,你就可以發動fever。請注意,因為人有反應時間,所以看到可發動fever的訊號時,要過四分之一拍的時間才能發動fever。發動fever後,連同按下去那一瞬間,你有兩個小節的時間讓combo加成。也就是說,發動第一次的fever,接下來兩個小節的時間每個音combo數都為2,在這段時間內再發動一次fever,則有兩個小節的時間combo數為3。
測試檔第一行有一個數字M,代表接下來有幾組測資。
接下來的M組測資,每組測資代表著一首歌曲的譜。第一行有一個數字N(1<=N<=100),代表這個曲子有幾個小節。接下來會有N個小節,每個小節16行,每行6個字元。單鍵音以 ’_’ 作代表,連續音以 ‘#’ 作代表,沒有音符則以 ‘ ‘(空白)表示。注意,小節和小節間會以 “<<<<<<”或“>>>>>>” 作為分隔線。注意DJmax的音符是從上往下掉,所以樂譜的下方為開始,上方為結束。
每組測資輸出一行:”You can get maxinum combo X.” X是我們要你求出的答案。
(因網頁上無法連續打兩個半形空白,所以說明以全形表示。測資保證全部皆為半形。)
以第三個測資為例:
<<<<<<
# # combo: 91Testdata Sets (testdata no. starts from 0)
# #
# # combo: 85
# #
# # combo: 79
# #
# # combo: 73
# #
# # combo: 67 發動fever(x3),fever重集
# #
# # combo: 61 獲得發動fever的機會
# #
# # combo: 57
# #
# # combo: 53
<<<<<<
# #
# # combo: 49
# #
# # combo: 45
# #
# # combo: 41
# #
# # combo: 37
# #
# # combo: 33
# #
# # combo: 29
# #
# # combo: 25 發動fever(x2),fever重集
# #
_#_ #_ combo: 21 獲得發動fever的機會
<<<<<<
_ combo: 16
_ combo: 15
_ combo: 14
_ combo: 13
_ combo: 12
_ combo: 11
_ combo: 10
_ combo: 9
_ _ combo: 8
_ _ combo: 6
_ _ combo: 4
_ _ combo: 2
備註:
在現實世界中,當fever(x2)時,再按一次fever,其準備的時間比fever(x3)以上還久,不過在這題我們忽略這個狀況。
在現實世界中,fever最多只能到x5,不過在這題我們忽略這個狀況。
原TIOJ1222 / TIOJ 2008例行賽03-Elite (prob D)。Problem Setter:TimeString。
No. | Testdata Range | Score |
---|---|---|
1 | 0 | 100 |