POJ3481 Double Queue

Posted yu-xing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ3481 Double Queue相关的知识,希望对你有一定的参考价值。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<set>
 4 #include<utility>
 5 using namespace std;
 6 int flag=1;
 7 typedef pair<int,int> p;
 8 typedef set<p>::iterator setit;
 9 set<p> s;
10 int main(){
11     while(flag){
12         scanf("%d",&flag);
13         if(!flag) break;
14         if(flag==2) {
15         if(s.empty()) {
16             printf("%d
",0);continue;
17         }
18         setit i=--s.end();
19         printf("%d
",(*(i)).second);
20         s.erase(i);
21         }
22         if(flag==3) {
23         if(s.empty()) {
24             printf("%d
",0);continue;
25         }
26         setit i=s.begin();
27         printf("%d
",(*(i)).second);
28         s.erase(i);}
29         if(flag==1){
30             int x,y;
31             scanf("%d%d",&x,&y);
32             s.insert(make_pair(y,x));
33         }
34     }
35     return 0;
36 }

 

以上是关于POJ3481 Double Queue的主要内容,如果未能解决你的问题,请参考以下文章

POJ 3481 Double Queue(set实现)

POJ3481 Double Queue

POJ 3481 Double Queue(Treap模板题)

POJ 3481 Double Queue(STL)

poj3481

poj 3481 平衡树