某線上遊戲對玩家排名的方式如下:
(1) 若玩家 i 的最高分數比玩家 j 的最高分數高,則玩家 i 的排名高於玩家 j。
(2) 若玩家 i 前 k 高的分數都和玩家 j 相同(令 sik 代表玩家 i 的第 k 高分數,six = sjx,x = 1, 2, ..., k。),且玩家 i 第 (k+1) 高的分數比玩家 j 的第 (k+1) 高的分數高,則玩家 i 的排名高於玩家 j。
(3) 若玩家 i 前 k 高的分數都和玩家 j 相同,玩家 i 玩超過 k 場遊戲而玩家 j 只玩過 k場遊戲,則玩家 i 的排名高於玩家 j。
以下範例說明上述排名規則。
排名 玩家姓名 遊戲分數
1 Aloha 100, 0, 0
2 Betty 90, 90, 90, 70
3 Christine 90, 90, 89, 88
3 Debby 90, 90, 89, 88
4 Ella 90, 90, 89
現在給定所有玩家的姓名和遊戲分數,請回答某個玩家的排名。
(1) 第一行有兩個整數 N (1 ≤ N ≤ 100),代表有 N 名玩家。
(2) 接下去的 N 行,每行首先有一個僅含英文字母的字串(長度不超過20 個字元),代表玩家姓名;接著有一個整數 K (1 ≤ K ≤ 100),代表該名玩家的遊戲次數,再接著有 K 個整數,代表 K 場遊戲的分數。注意這 K 個分數並不一定由高到低排序好。字串與數字,及數字與數字間均以一個空白隔開。
(3) 接下來有一或多行僅含英文字母的字串,代表欲查詢的玩家姓名。
請輸出欲查詢玩家的名次(假設一定查詢得到該玩家),每位被查詢玩家輸出一行。
輸入範例1 2 Betty 2 80 70 Aloha 2 10 100 Aloha Betty 輸入範例2 5 Betty 4 90 70 90 90 Ella 3 90 89 90 Christine 4 89 88 90 90 Debby 4 88 90 89 90 Aloha 3 100 0 100 Debby
輸出範例1 1 2 輸出範例2 3
本題共有五組測試題組,條件限制如下所示。每一組可有一或多筆測試資料,該組所有
測試資料皆需答對才會獲得該組分數。
第一組(15 分):1≤N≤5,所有玩家都只玩過一場遊戲且無同名次狀況,只查詢一位玩家的排名。
第二組(15 分):1≤N≤5,所有玩家都只玩過一場遊戲,只查詢一位玩家的排名。
第三組(20 分):所有玩家的遊戲次數相同,且無同名次狀況。
第四組(20 分):所有玩家的遊戲次數相同。
第五組(30 分):無特殊限制。
測資非官方,是我自己產生的,若有誤請見諒並不吝告知
ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」
|