| # | Problem | Pass Rate (passed user / total user) |
|---|---|---|
| 7657 | PA - Addiction to Tower of Savier |
|
| 7658 | PB - ASCII Noon |
|
| 7659 | PC - 等比級數和 |
|
| 7660 | PD - Cake loves cakes |
|
| 7661 | PE - Rich 50000?! |
|
Description
神魔之塔是近期內很有名的轉珠遊戲,身為重度玩家的 HappyStorm 自然擁有很多張卡片。

這天好奇的她想實作一個篩選排序系統讓自己能快速地找到想找的卡片。
為了簡化問題,一張卡片只會有以下五種屬性,分別為 "種族(race)", "卡號(id)", "血量(hp)", "攻擊力(atk)", "回復力(rec)"。
除了 "種族" 屬性為字串以外,其餘四個屬性皆為正整數。
Coding 不強的她拜託你幫忙把這個系統實作出來,在輸入篩選排序的條件下,印出所篩選出的卡片。
儘管你很不願意,但身為一個善良的工程師,還是幫幫可憐的 HappyStorm 吧。
Input
輸入的第一行有一個整數 t (0 < t <= 100) 代表以下有幾組測資。
每組測資的第一行有一個整數 n (0 < n <= 500) 代表HappyStorm的背包總共有幾張卡片。
接下來 n 行為卡片的屬性資料:
每行開頭有一個字串代表種族(保證只有以下五種:"Elf", "Human", "Dragon", "God", "Beast"),
和四個正整數id (0 < id <= 500), hp, atk, rec (0 < hp, atk, rec <= 4000)分別表示卡號、血量、攻擊力、回復力。
接下來兩行分別說明要篩選的種族與屬性排序(皆由大排到小)的優先順序:
第一行有一個字串表示要篩選出的種族。
第二行有4個字串("ID", "HP", "ATK", "REC")代表排序的優先順序,放在愈前面的字串優先權愈高。
Output
對於每一筆測資請輸出"Case #"以及所篩選出的卡片,分行輸出。
若無符合篩選條件的卡片,請輸出"Cards not found"。
詳情請見sample input/output。
Sample Input Download
Sample Output Download
Tags
Discuss
Description
給你一張長方形的紙, 依序做以下動作 :
1. 從目前的紙張裡剪掉一個最大的正方形
2. 變成一張比較小張的紙了
3. 如果這張紙還是長方形的話, 就回到步驟1繼續
4. 否則輸出最後的正方形的邊長
Input
這題的輸入很機車, 每個數字都會被放在ASCII構成的圍牆的框框內, 如下所示 : (以數字237458為例)
+---+---+---+---+---+---+
|2 | | | | | 8 |
| | 3| |4 | 5 | |
| | | 7 | | | |
+---+---+---+---+---+---+
數字會出現在圍牆內的某個位置, 一個邊長會由一串圍牆所組成, 因此一張紙(一個testcase)會由兩串圍牆所組成!!
輸入的每行長度都不會超過55個字元.
輸入內不會有無意義的空行.
Output
然後請輸出最後的正方形的邊長, 輸出時也需要把數字放入圍牆內, 但為了讓kerker方便檢查大家的數字, 數字都必須放在每一道牆的正中間, 如下所示 : (以數字237458為例)
切勿輸出開頭的0!
+---+---+---+---+---+---+
| | | | | | |
| 2 | 3 | 7 | 4 | 5 | 8 |
| | | | | | |
+---+---+---+---+---+---+
並且請在測資間空行!
Sample Input Download
Sample Output Download
Tags
Discuss
Description
蛋糕最喜歡吃蛋糕,所以他舉辦了一個蛋糕大賽,有上千名參賽者參加,現在終於進行到最後一個階段了!!兩位參賽者在爭奪冠軍寶座!!!
蛋糕請來了一群評審投票給這兩位參賽者,支持參賽者A的人在牌子上寫0,支持參賽者B的人在牌子上寫1。蛋糕想要知道第i位評審和第j位評審間(包含i和j)是否都將票投給了相同的參賽者。
你的任務是快速地給予蛋糕答覆,如果寫出一個有效率的程式,蛋糕或許會願意分你一片冠軍蛋糕。
Input
第一列有一個數字T,代表總共T組測資。
每組測資的第一列是由0和1組成的字串,長度為N,代表第1位到第N位評審投的票。
每組測資的第二列為一個數字Q,代表蛋糕有有Q個問題,接下來的Q列,每列有兩個數字a, b,請判斷第a位評審到第b位評審(包含)是否都將票投給了同一位參賽者。
T<=25
1<=N<=500000
1<=Q<=10000
1<=a<=b<=N
所有數字皆為正整數
Output
針對每組測資,第一列請先輸出"Case x:"(x是case number),接下來輸出Q列,針對這組測資的Q個問題作回答,答案只會是Yes或是No。
Sample Input Download
Sample Output Download
Tags
Discuss
Description
世界上有許多有錢人,比如巴菲特、祖柏克等等。
雖然你並不是有錢人中的一員,
但你是一個管理全人類資產資料庫的工程師,
現在Time時代週刊的記者們為了百大富翁排行榜,
並須向你詢問一些有錢人擁有多少資產。
由於人類的總數量實在太多了,
所以你決定寫一個程式幫助解決問題。
Input
題目有多筆測資。
每一筆測資有多行。
第1行會有兩個正整數N,Q,
N代表你的資料庫中的資料總數,Q代表時代周刊要詢問的問題數量。
第2行到第N+1行,每行有兩個字串S與P,資串間以空白區隔
S代表人名,P表示他所擁有的資產數量。
資產的格式為"XMYKZ",其中X,Y,Z為三位整數。
ex: 100M000K000表示資產為100百萬即1億
001M200K500表示是財產為1百萬200千500即120萬500元
之後會有Q行,每一行會有一個字串Name,代表記者欲詢問的人,
記者所詢問的人一定存在於你的資料庫名單中。
1<=N,Q<=50000
1<=strlen(S)<=20,並且人名只由小寫英文字母'a'~'z'組成,並且不重複。
X,Y,Z為三位數整數,會有零開頭。
Output
對於每筆測資請輸出Q+1行
第1行輸出 "----Report x----",其中x為第幾組測資。
之後對於每一個詢問,輸出一個字串與一個數字,
即該人的人名,以及他所擁有的資產。
注意資產不得印出多餘的0。
Hint:O(N*Q)的做法會TLE!!!