a182: 技能施放問題 skill
標籤 : 2015 Q_G 初賽 網際網路程式設計全國⼤賽 高中組
通過比率 : 0人/0人 (0%) [非即時]
評分方式:
Tolerant

最近更新 : 2021-11-10 13:31

內容

你最近發現⼀款名爲〈狗狗貓貓⼤冒險〉的遊戲。這是⼀款結合愛與勇氣⽽且擬真度極⾼的第⼀⼈稱⾓⾊扮演遊戲。在這款遊戲中,你所將扮演的⾓⾊是⾚貓,因此你將能在遊戲中做到諸如:

翻滾、跳躍、從⾼空降落、玩貓砂、跳⽕圈、捉⽼⿏、操縱⼈類等等,⼀般貓咪可以做到的事。

但在〈狗狗貓貓⼤冒險〉中,還加⼊了更多元素。的確,到⽬前爲⽌都還沒提到狗狗的部分。

事實上,這款遊戲將使你沉迷的最主要原因在於,這「狗狗」並不是名詞,⽽是形容詞!你所操縱的⾚貓還擁有更多強⼤的技能,像是游泳、搖尾巴、導盲、發呆、搜查等,儼然是融合狗與貓的最強究極體。事實上,還有更多待解鎖的技能等你去發掘!於是你迫不及待地開始玩〈狗狗貓貓⼤冒險〉。

進⼊遊戲之後,你發現⾚貓竟然只是⼀隻⼩貓咪。在遊戲中⾚貓每秒能累積⼀點經驗值,隨著經驗值的累積,⾚貓才會慢慢成⻑。接下來,你遇到的第⼀個任務是要「尋找⾷物」來填飽肚⼦,於是你⾺上按下⾚貓的技能「操縱⼈類」,希望能獲得⾷物。但螢幕上卻顯⽰:「不具備所需的能⼒值!」

這時你才發現,原來要施放技能,必須具備某些特定的能⼒值,⽽每項技能需要的能⼒值⼜不盡相同。此外,在遊戲中獲得能⼒值的唯⼀⽅法就是花費已累積的經驗值。由於⾚貓有過⼈的記憶⼒,⼀旦獲得⼀項能⼒值便永遠不會忘記。

於是你⼼想,難道只能四處翻找⾷物,慢慢等經驗值累積嗎?這時聰明的你發現,在螢幕右下⾓有個⼩⼩的按鍵,上頭寫著「直接進⼊魔王關!」興奮的你毫不猶豫的按了下去!

進到魔王關,你眼前忽然冒出⼀隻看起來就是⼤魔王的神祕⽣物,⼿⾜無措的你突然發現⼀旁的所有技能都已經解鎖了!

⽽螢幕上跳出了⼀句提⽰:「只要施放出所有技能,便能打敗⼤魔王!」

情急之下,你以迅雷不及掩⽿的速度………..上上下下左左右右ABCABC ……….把所有技能都按了⼀遍。但此時的⾚貓根本還不具備任何能⼒值,⽽且已累積的經驗值也歸零了,理所當然是⼀項技能都沒施放成功。

由於著急沒什麼⽤,所以你只好強迫⾃⼰冷靜下來。然後你就發現,在魔王關中,如果想施放第i 項技能,無論缺少哪些能⼒值,你都可以花費相對應的Ci 點經驗值,⼀次獲得這些缺少的能⼒值。

⼤魔王正朝你步步近逼,你所剩的時間不多了。因此,你想找出⼀個施放技能的順序,讓你能夠在最短的時間內照著這個順序使出所有技能。

遊戲內以不同的⼤寫英⽂字⺟代表不同的能⼒值。舉例來說(即第⼀筆範例測試資料),你現在必須施放出編號爲1; 2; 3 的三項技能,⽽第⼀項技能需要的能⼒值爲AB 、C1 = 3,第⼆項技能需要的能⼒值爲A 、C2 = 1 ,第三項技能需要的能⼒值爲B 、C3 = 1,則以下爲不同施放順序所需要花費的經驗值:

1.⟨ 1,2,3 ⟩:需花費3 點經驗值。(施放技能⼀時花C1 獲得能⼒值AB )

2.⟨ 1,3,2 ⟩:需花費3 點經驗值。(施放技能⼀時花C1 獲得能⼒值AB )

3.⟨ 2,1,3 ⟩:需花費4 點經驗值。(施放技能⼆時花C2 獲得能⼒值A ,再施放技能⼀時再花費C1 獲得能⼒值B )

4.⟨ 2,3,1 ⟩:需花費2 點經驗值。(施放技能⼆時花C2 獲得能⼒值A,再施放技能三時再花費C3 獲得能⼒值B )

5.⟨ 3,1,2 ⟩:需花費4 點經驗值。(施放技能三時花C3 獲得能⼒值B,再施放技能⼀時再花費C1 獲得能⼒值A )

6.⟨ 3,2,1 ⟩:需花費2 點經驗值。(施放技能三時花C3 獲得能⼒值B,再施放技能⼆時再花費C2 獲得能⼒值A )

第四以及第六種施放順序都只需要花費兩點經驗值,能在最短時間的收集完成,因此,兩種施放順序都爲最佳技能施放順序。

輸入說明

第⼀⾏有⼀個正整數T,代表接下來有T 筆測試資料。

每筆測試資料第⼀⾏,包含兩個正整數N,M,代表總共有N 項技能,且這N 項技能所需的能⼒值種類不超過M 種。接下來包含N ⾏,每⾏包含⼀個正整數Ci 以及⼀個字串Si,代表施放第i 種技能時,需要Si 中的各種能⼒值(每個字元即代表不同能⼒值),⽽且可以花費Ci 點經驗值獲得Si 中你尚未獲得的每⼀項能⼒值。

  • 1 ≤ T≤ 25
  • 1 ≤ N ≤ 105
  • 1 ≤ M≤ 12
  • 0≤ Ci≤108
  • 1 ≤ |Si|≤ 12,並且所有的字元皆不相同,只包含⼤寫英⽂字⺟。
輸出說明

對於每筆測試資料,請輸出兩⾏。
第⼀⾏請輸出⼀個整數,代表最少需要多少時間才能使出所有技能。
第⼆⾏輸出⼀個1 到N 的排列(數字間以空格隔開),代表⼀組最佳技能施放順序。如果有多
組技能施放順序能在最短時間內使出所有技能,請輸出任意⼀種技能施放順序。

範例輸入 #1
2
3 2
3 AB
1 A
1 B
3 2
3 AB
1 A
1 B
範例輸出 #1
2
2 3 1
2
3 2 1
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (33%): 1.0s , <1K
公開 測資點#1 (33%): 1.0s , <1K
公開 測資點#2 (34%): 1.0s , <1K
提示 :
標籤:
2015 Q_G 初賽 網際網路程式設計全國⼤賽 高中組
出處:
2015NPSC [管理者: ]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」