對不起我很懶所以沒有想題目敘述。這題就是一堆dict的操作練習。
第一行包含一個數字 $n( n \leq 1000 )$,代表接下來有 $n$ 幾次操作。
第 $2$ ~ $n+1$ 行的格式如下:
$1$ $a$ $b$ 插入key $a$, value為 $b$ 。如果已經存在key $a$ ,就印出"Failed"就好(不用更改value),不然插入後印出"Success"。
$2$ $a$ 刪除key $a$ 和他對應的value。如果key $a$ 不存在,印出"Failed",不然刪除後印出"Success"。
$3$ 在目前還存在的key中刪除最晚插入的那一個。如果dict是空的,印出"Failed",不然刪除後印出"Success"。
$4$ $a$ 印出key $a$ 對應到的value。如果key $a$ 不存在,印出"Failed"。
$5$ $a$ 照字典序印出所有value為 $a$ 的key,每行一個。如果沒有任何一個key的value是 $a$ ,印出"None"。注意到是"None",不是"Failed”哦。
$6$ $a$ $b$ 將key為 $a$ 對應到的value改成 $b$ 。如果key $a$ 不存在,印出"Failed",不然改完後印出"Success"。
$7$ 照key的字典序印出所有的"key value"(中間空白),每行一組
$8$ 印出dict目前的大小
$9$ 清空dict
參考範例輸出們
21
1 a1 b1
1 a1 b1
1 a2 b2
2 a3
2 a2
1 a4 b4
1 a5 b5
3
1 a44 b4
4 a3
4 a1
5 b1
5 b4
5 b3
6 a3 b7
6 a1 b11
7
8
9
8
3
Success
Failed
Success
Failed
Success
Success
Success
Success
Success
Failed
b1
a1
a4
a44
None
Failed
Success
a1 b11
a4 b4
a44 b4
3
0
Failed
關於操作3你可以開一個list紀錄key插入的順序。還有,你應該可以發現這題跟"bearrrrrrrro的綽號們"(也就是上課練習題)很像,尤其是處理輸入輸出和處理字典序的部份。
NEOJ Problem 3036
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0 | 10 | |
2 | 1 | 10 | |
3 | 2 | 10 | |
4 | 3 | 10 | |
5 | 4 | 10 | |
6 | 5 | 10 | |
7 | 6 | 10 | |
8 | 7 | 10 | |
9 | 8 | 10 | |
10 | 9 | 10 |