天天看點

hdu 1206 勁樂團勁樂團

這個代碼的下邊有關于此遊戲的圖檔。

題意:就是将輸入的整數

hdu 1206 勁樂團勁樂團

這個遊戲有點刺激,,,但是我建議大家還是不要下載下傳這個遊戲,第一插件太多,第二到處通路檔案,修改系統資料庫。看到第一個界面就像傳播不良資訊,點選開始後才彈出下面的界面,這個遊戲與題目關系不大。

圖檔如下:

hdu 1206 勁樂團勁樂團
hdu 1206 勁樂團勁樂團

勁樂團

Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 125    Accepted Submission(s): 4

Problem Description 勁樂團是這樣一個遊戲:當遊戲開始時,一邊播放背景音樂,一邊從上至下不斷随着音樂掉落Note。(Note是音樂遊戲的術語)當該Note掉落至最底部時,則按下對應的鍵就可以擊中該Note并得分。擊中的時間越準确得分越高。準确擊中可以得到一個COOL,時間稍微有些偏差可以得到一個GOOD。偏差更多或者未擊中得到MISS。一個COOL可以得10分,一個GOOD可以得5分。(注意:如果當某一個鍵被推遲或提前按下時,該位置正好有另一個Note,那麼被響應的将是出現較早的那個音符。)

Gardon是勁樂團的高手,正常情況下他可以順利完成任何難度的歌曲。是以他想讓遊戲變的更富有挑戰性,他決定使用五個手指來彈七個按鍵的歌曲。這就意味着他的手必須來回移動來擊中七個位置的音符。

正常情況下,Gardon采用鍵盤上的A、S、D、F、J、K、L七個鍵來對應七個位置,現在Gardon并不打算更改它,隻是他用左手的三個手指來操縱ASDF四個鍵,右手的兩個手指操作JKL三個鍵。

Gardon反應時間的最短間隔被稱做一個Tick,一個Tick内,他可以按下一些鍵,也可以将手指移動,也可以在移動一些手指的同時按下另一些鍵。但是:正在被移動的手指不能按下任何鍵,不論是移動的起始點還是終點。恰好,勁樂團對于按鍵準确程度的判斷也是以Tick為機關:正好在該Tick時擊中得到COOL,早或者晚一個Tick都将得到GOOD。

遊戲一開始時,Gardon的手可以放在任意位置,比如圖中的示例,Gardon的手可以放在1、3、4、5、6五個鍵上,在第四個音符按下的同時将第二個手指從鍵3上移動到鍵2上,并完成後面的内容。

注意:不能将手移開,也不能變換手指的順序,就是說:手指1隻能放在鍵位1、2上,手指2隻能放在鍵位2、3上,手指3隻能放在鍵位3、4上,并且不同的手指不能放在一個鍵上。一次可以将數個手指同時移動,例如當分别放在1 2 3 5 6的時候,可以同時移動,分别到1 3 4 6 7位置上。并且左手手指不能放到5、6、7位置,右手手指不能放到1、2、3、4位置。

現在Gardon面臨了這樣一個問題:因為有的時候Note太多或者太複雜,他很難使用五個手指打出全部的COOL,是以他想請你幫忙寫個程式,來計算下對于一首歌曲,他最多可以拿到多少分,讓他好有個目标來進行練習。

hdu 1206 勁樂團勁樂團

Input 輸入包含多組資料,每組資料表示了一首歌曲的所有Note的資訊,這些資訊是Gardon從勁樂團的遊戲檔案中得到的。資訊的格式是這樣的:

第一行裡有兩個整數N和M,N表示了整個歌曲的長度(機關是Tick),M表示了所有Note的數目。(N<=10000000,M<=2821)

接下來M行每行有兩個數 Ti和Pi表示了一個Note的資訊。Ti是該Note到達底部的時間(機關是Tick),Pi是該Note的位置(1<=Ti<=N,1<=Pi<=7)。輸入已經按照Ti排序,沒有Ti和Pi都相同的兩個Note。

注意:遊戲開始前(<0)和結束後(>N)時按鍵無效。

Output 對于輸入的每組資料,隻有一個數字,表示Gardon能拿到的最高分數。

Sample Input

7 9
1 6
2 5
3 3
4 1
5 2
6 1
7 4
7 5
7 7
        

Sample Output

90


   
    
     Hint
    Hint
   
    
就是圖中的示例。一開始手放在1、3、4、5、6上,在按下5位置的音符的同時将6位置的手指移到7位置,在按下1位置音符的同時将3位置
的手指移到2位置,這樣所有的Note都能打出COOL,一共是90分。
        

Author Gardon