【Uva 解題筆記】12015 - Google is Feeling Lucky
【Uva 解題筆記】12015 - Google is Feeling Lucky
Uva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3166
Zerojudge:https://zerojudge.tw/ShowProblem?problemid=a130
PDF Source:https://onlinejudge.org/external/120/12015.pdf
題目翻譯:
Google 是最著名的網際網路搜尋引擎之一,它提供和開發了許多網路服務和產品。在其搜尋引擎網站上,有一個有趣的按鈕「好手氣」吸引了我們的目光。這個功能讓使用者可以跳過搜尋結果頁面,直接進入首選頁面。這太省事了,節省了大量時間。
問題是,當使用者輸入一些關鍵字並按下「好手氣」按鈕時,會出現哪個網頁呢?Google 做了很多工作,並提出了優秀的方法來處理這個問題。在這個簡化的問題中,讓我們只考慮 Google 為每個網頁分配一個整數值的相關性。最相關的頁面將被選中。如果有平局,所有具有最高相關性的頁面都可能被選中。
你的任務很簡單,給定 10 個網頁及其相關性。只需挑出所有可能在「好手氣」時提供給使用者的候選網頁。
Input
輸入包含多組測資。測資的數量 T 在輸入檔案的第一行。
對於每組測資,有 10 行,描述網頁和相關性。每一行包含一個不含任何空白字元的字串,表示這個網頁的 URL,以及一個整數 $V_i$ 表示這個網頁的相關性。URL 的長度介於 1 到 100(包含)之間。$(1 ≤ V_i ≤ 100)$
Output
對於每組測資,輸出數行,這些行是可能被選中的網頁的 URL。URL 的順序與輸入相同。請查看範例輸出以獲得更多輸出格式的資訊。
Sample Input
1 | 2 |
Sample Output
1 | Case #1: |
精選單字:
- relevance (n.) 相關性、實用性、意義
- tie 在這裡指的是平分、相等的意思
解題思路:
使用 vector <pair<string, int>> url(10); 容器。
然後使用 max_element() 方法:
1 | int maxNum = max_element(url.begin(), url.end(), [](const pair<string, int>& a, const pair<string, int>& b){ |
這邊不要使用 auto,用 pair<string, int>,因為 Uva 是 C++ 11,lambda 還沒有支援 auto。
最後透過 range-based for loop 逐個比較是否與 maxNum 相等,然後產生輸出。
範例程式碼:
1 |
|


