zoukankan      html  css  js  c++  java
  • UVA 11995 I Can Guess the Data Structure!

    STL数据结构(queue,stack,priority queue)的基本操作;

     1 #include <iostream>
     2 #include <cstring>
     3 #include <queue>
     4 #include <stack>
     5 using namespace std;
     6 
     7 
     8 
     9 int main (){
    10     int n;
    11     int x[1005][2];
    12     while (cin>>n){
    13         for (int i=0;i<n;i++){
    14             cin>>x[i][1]>>x[i][0];
    15         }
    16         queue<int> q1;
    17         stack<int> q2;
    18         priority_queue<int> q3;
    19         int flag[5];
    20         for (int i=0;i<5;i++)  flag[i]=1;
    21         for (int i=0;i<n;i++){
    22             if (x[i][1]==1){
    23                 q1.push (x[i][0]);
    24                 q2.push (x[i][0]);
    25                 q3.push (x[i][0]);
    26             }
    27             else {
    28                 if (flag[1]&&(q1.empty()||q1.front()!=x[i][0])){
    29                     flag[1]=0;
    30                 }
    31                 if (flag[1])
    32                     q1.pop ();
    33                 if (flag[2]&&(q2.empty()||q2.top()!=x[i][0])){
    34                     flag[2]=0;
    35                 }
    36                 if (flag[2])
    37                     q2.pop ();
    38                 if (flag[3]&&(q3.empty()||q3.top()!=x[i][0])){
    39                     flag[3]=0;
    40                 }
    41                 if (flag[3])
    42                     q3.pop ();
    43                 
    44                 
    45             }
    46         }
    47         int temp=0;
    48         for (int i=1;i<=3;i++)
    49             temp+=flag[i];
    50         if (temp==0)
    51             cout<<"impossible"<<endl;
    52         else if (temp>=2)
    53             cout<<"not sure"<<endl;
    54         else if (temp==1){
    55             if (flag[1])
    56                 cout<<"queue"<<endl;
    57             else if (flag[2])
    58                 cout<<"stack"<<endl;
    59             else 
    60                 cout<<"priority queue"<<endl;
    61         }
    62         
    63     }
    64     return 0;
    65 }
  • 相关阅读:
    有序矩阵中的第 k 个最小数组和
    查找和最小的K对数字
    前 K 个高频元素
    621. 任务调度器
    407. 接雨水 II
    c语言表达式求值 中缀表达式转后缀表达式 求值
    42. 接雨水
    MySQL高级特性——绑定变量
    MySQL高级特性之分区表
    MySQL优化特定类型的查询
  • 原文地址:https://www.cnblogs.com/gfc-g/p/3889371.html
Copyright © 2011-2022 走看看