• UVA 1995 I can guess the structer


    模 拟

     1 /*by SilverN*/
     2 #include<algorithm>
     3 #include<iostream>
     4 #include<cstring>
     5 #include<cstdio>
     6 #include<cmath>
     7 #include<vector>
     8 #include<queue>
     9 #include<stack>
    10 using namespace std;
    11 int read(){
    12     int x=0,f=1;char ch=getchar();
    13     while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    14     while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}
    15     return x*f;
    16 }
    17 priority_queue<int>q;
    18 stack<int>st;
    19 queue<int>que;
    20 int n;
    21 int x,y;
    22 bool flag_st,flag_qu,flag_pr;
    23 int main(){
    24 /*    freopen("qu.in","r",stdin);
    25     freopen("qu.out","w",stdout);*/
    26     
    27     while(scanf("%d",&n)!=EOF){
    28         int i,j;
    29         flag_pr=flag_qu=flag_st=1;
    30         while(!q.empty()) q.pop();
    31         while(!st.empty()) st.pop();
    32         while(!que.empty()) que.pop();
    33         for(i=1;i<=n;i++){
    34             scanf("%d%d",&x,&y);
    35             if(x==1){
    36                 q.push(y);
    37                 st.push(y);
    38                 que.push(y);
    39             }
    40             else{
    41                 if(q.empty() || q.top()!=y)flag_pr=0;
    42                 if(st.empty() || st.top()!=y)flag_st=0;
    43                 if(que.empty() || que.front()!=y)flag_qu=0;
    44                 if(!q.empty())q.pop();
    45                 if(!st.empty()) st.pop();
    46                 if(!que.empty()) que.pop();
    47             }
    48         }
    49         int cnt=0;
    50         if(flag_st)cnt++; if(flag_pr)cnt++; if(flag_qu)cnt++;
    51         if(cnt>1){
    52             printf("not sure
    ");
    53             continue;
    54         }
    55         if(flag_st && !flag_pr && !flag_qu)printf("stack
    ");
    56         if(!flag_st && !flag_pr && flag_qu)printf("queue
    ");
    57         if(!flag_st && flag_pr && !flag_qu)printf("priority queue
    ");
    58         if(!flag_st && !flag_pr && !flag_qu)printf("impossible
    ");
    59     }
    60     return 0;
    61 }
  • 相关阅读:
    Windows Phone 的控件倾斜效果
    在framework4.0 3.5中反序列化 解析JSON
    PhpStorm2.0、3.0,5.0注册码到2112年
    Windows Phone(wp7)系统长按的秘密
    配置ethereal编译环境
    复习C++:引用的一些用法
    转载
    Stay hungry,Stay foolish
    C++:继承的一点注意事项
    纯虚函数
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/5989721.html
Copyright © 2020-2023  润新知