hdu 1873看病要排队(优先队列)

来源:互联网 发布:stc8单片机 编辑:程序博客网 时间:2024/05/22 13:48

纪念下第一次优先队列题~

#include<stdio.h>#include<string.h>#include<string>#include<iostream>#include<queue>using namespace std;struct node{int p,num;bool operator < (const node& a) const{return p<a.p || (p==a.p&&num>a.num);}};string ch;int main(){int i,j,k,n,a,b,tmp;while(scanf("%d",&n)!=-1){priority_queue<node>q[4];for(i=1;i<4;i++)while(!q[i].empty())q[i].pop();   int cou=1;   node x;   while(n--)   {   cin>>ch;   if(ch=="IN")   {   scanf("%d%d",&a,&x.p);   x.num=cou++;   q[a].push(x);   }   else   {   scanf("%d",&a);   if(!q[a].empty())   {   x=q[a].top();   q[a].pop();   printf("%d\n",x.num);   }   else   printf("EMPTY\n");   }   }}return 0;}