hdu 1873 看病要排队

来源:互联网 发布:武汉大学网络报修电话 编辑:程序博客网 时间:2024/05/20 06:22

本题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1873

本题主要运用优先队列的知识,AC代码:

 

#include<stdio.h>#include<queue>#include<string.h>using namespace std;struct node{int Priority,num;friend bool operator < (node a,node b){if(a.Priority!=b.Priority)return a.Priority < b.Priority;else return a.num > b.num;}};int main(){int n,doc,id;node y;char str[10];while(scanf("%d",&n)!=EOF){id=1;priority_queue <node> q[4];//必须定义在这里 while(n--){scanf("%s",str);if(!strcmp(str,"IN")){scanf("%d %d",&doc,&y.Priority );y.num=id;id++;q[doc].push(y);}else if(!strcmp(str,"OUT")){scanf("%d",&doc);if(q[doc].empty())printf("EMPTY\n");else{printf("%d\n",q[doc].top().num);q[doc].pop();}}}}return 0;}

0 0
原创粉丝点击