zoukankan      html  css  js  c++  java
  • HDU1873+优先队列

    简单的优先队列。。。

    View Code
     1 /*
     2 优先队列
     3 */
     4 #include<stdio.h>
     5 #include<string.h>
     6 #include<stdlib.h>
     7 #include<algorithm>
     8 #include<iostream>
     9 #include<queue>
    10 #include<map>
    11 #include<vector>
    12 #include<math.h>
    13 using namespace std;
    14 typedef long long ll;
    15 //typedef __int64 int64;
    16 const int maxn = 105;
    17 const int inf = 0x7FFFFFFF;
    18 const int CLEAR = 0x7F;
    19 const double pi=acos(-1.0);
    20 const double eps = 1e-8;
    21 
    22 struct node{
    23     int lev,ti;
    24 };
    25 
    26 bool operator < ( node a,node b ){
    27     if( a.lev!=b.lev ) return a.lev<b.lev;//现按照lev排序,lev大的在堆顶
    28     else return a.ti>b.ti;//再按照timepaixu,小的在前
    29 }
    30 
    31 priority_queue<node>q0;
    32 priority_queue<node>q1;
    33 priority_queue<node>q2;
    34 node tmp;
    35 void init(){
    36     while( !q0.empty() ) q0.pop();
    37     while( !q1.empty() ) q1.pop();
    38     while( !q2.empty() ) q2.pop();
    39 }
    40 int main(){
    41     int n;
    42     while( scanf("%d",&n)!=EOF ){
    43         init();
    44         char op[ 5 ];
    45         int a,b;
    46         int cnt = 1;
    47         while( n-- ){
    48             scanf("%s",op);
    49             if( op[0]=='I' ){
    50                 scanf("%d%d",&a,&b);
    51                 tmp.lev = b;
    52                 tmp.ti = cnt++;
    53                 if( a==1 ){
    54                     q0.push( tmp );
    55                 }
    56                 else if( a==2 ){
    57                     q1.push( tmp );
    58                 }
    59                 else {
    60                     q2.push( tmp );
    61                 }
    62             }
    63             else if( op[0]=='O' ){
    64                 scanf("%d",&a);
    65                 if( a==1 ){
    66                     if( q0.empty() ) printf("EMPTY\n");
    67                     else {
    68                         node tt = q0.top();
    69                         q0.pop();
    70                         printf("%d\n",tt.ti);
    71                     }
    72                 }
    73                 else if( a==2 ){
    74                     if( q1.empty() ) printf("EMPTY\n");
    75                     else {
    76                         node tt = q1.top();
    77                         q1.pop();
    78                         printf("%d\n",tt.ti);
    79                     }
    80                 }
    81                 else {
    82                     if( q2.empty() ) printf("EMPTY\n");
    83                     else{
    84                         node tt = q2.top();
    85                         q2.pop();
    86                         printf("%d\n",tt.ti);
    87                     }
    88                 }
    89             }
    90         }
    91     }
    92     return 0;
    93 }
    keep moving...
  • 相关阅读:
    让UILabel具有链接功能,点击后调用safari打开网址
    自定义UITableViewCell上的delete按钮
    iOS7 SDK各种坑——手Q团队总结
    字符串转成NSDate类型,计算与当前时间的相差,年数,天数,时分秒
    AFNetworking 2.0 Migration Guide
    UIView Class Reference
    AFNetworking实现程序重新启动时的断点续传
    CI框架下JS/CSS文件路径的设置
    CI session的使用
    php调用QQ登录(第三方登录)
  • 原文地址:https://www.cnblogs.com/xxx0624/p/2999109.html
Copyright © 2011-2022 走看看