hdu 1509 Windows Message Queue (优先队列)

来源:互联网 发布:吉尼佛摄影吧淘宝 编辑:程序博客网 时间:2024/05/21 01:51
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1509

题目大意:每一次输入都有序号和优先级,优先级小的先输出,优先级相同的话则序号小的先输出!第一次用优先队列,暂时对优先队列的理解即:输出最小的~AC代码,供参考!

 1 #include <iostream> 2 #include <cstdio> 3 #include <queue> 4 using namespace std; 5  6 struct node 7 { 8     char str[100]; 9     int a,b,c;10     bool friend operator <(node n1,node n2)11     {12         if(n1.b==n2.b)13         {14             return n1.c>n2.c;15         }16         return n1.b>n2.b;17     }18 } s,ss;19 20 21 int main ()22 {23     //node q;24     priority_queue<node>Q;25     int k=1;26     char ch[10];27     while (cin>>ch)28     {29         if (ch[0]=='G')30         {31             if (!Q.empty())32             {33                 s=Q.top();34                 Q.pop();35                 printf("%s %d\n",s.str,s.a);36             }37             else38                 printf("EMPTY QUEUE!\n");39         }40         else41         {42             scanf("%s%d%d",s.str,&s.a,&s.b);43             s.c=k++;44             Q.push(s);45         }46     }47     return 0;48 }

 

0 0
原创粉丝点击