set的使用03(较多的操作函数)
1367: Data Structure
Time Limit: 1 Sec Memory Limit: 128 MB
[Submit][Status][Web Board]
Description
給出一個集合,初始為空,進行N次操作,操作分為三種:
1 往集合中添加一個元素,如果集合中已經存在,則無需重復添加
2 從集合中刪除一個元素,如果集合中不存在該元素,則無需刪除
3 判斷元素在集合中排行老幾(最小的是老大),如果元素不存在請輸出:“sorry”(不含雙引號)
Input
多組測試數據
每組第1行:1個整數N,表示操作的次數。(2<=N<=10000)
第2 - (N+1)行:每行2個整數k和s對應操作的方式和被操作的元素(1<=k<=3,1<=s<=1000000)
Output
對應與每一個操作3,給出相應的結果
Sample Input
8
3 1
2 1
1 1
1 1
1 2
3 2
2 2
3 2
5
1 1
1 100
1 1000000
2 99999
3 1000000
Sample Output
sorry
2
sorry
3
HINT
Source
AC代碼~:
總結:
集合就想到set
set的迭代器不能執行加減運算,這題case3部分困擾我好久,一直想借助
find.s(y)-s.begin()來解決,但是發現編譯一直報錯,最后查了一下發現set迭代器不能加減法運算。最后我換了中思路了解決case3的問題,我本以為會Time exceed limited,沒想到AC了,哈哈哈開心~
總結進入正文~—>:
總結
以上是生活随笔為你收集整理的set的使用03(较多的操作函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: set的使用02
- 下一篇: sprintf的使用(和为n的回文数)