码迷,mamicode.com
首页 > 其他好文 > 详细

UVA11995 I Can Guess the Data Structure!

时间:2019-04-10 09:13:05      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:oss   int   ace   pos   namespace   ble   false   possible   else   

思路

简单题,用栈,队列,优先队列直接模拟即可

代码

#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
using namespace std;
queue<int> q;
stack<int> S;
priority_queue<int> pq;
int n;
int main(){
    while(scanf("%d",&n)==1){
        while(!q.empty())
            q.pop();
        while(!S.empty())
            S.pop();
        while(!pq.empty())
            pq.pop();
        bool isS=true,isq=true,ispq=true;
        for(int i=1;i<=n;i++){
            int opt,x;
            scanf("%d %d",&opt,&x);
            if(opt==1){
                q.push(x);
                pq.push(x);
                S.push(x);
            }
            else{
                if(q.empty())
                    isq=false;
                if(pq.empty())
                    ispq=false;
                if(S.empty())
                    isS=false;
                if(isq){
                    int t=q.front();
                    if(t!=x)
                        isq=false;
                    q.pop();
                }
                if(ispq){
                    int t=pq.top();
                    if(t!=x)
                        ispq=false;
                    pq.pop();
                }
                if(isS){
                    int t=S.top();
                    if(t!=x)
                        isS=false;
                    S.pop();
                }
            }
        }
        if((!ispq)&&(!isq)&&(!isS))
            printf("impossible\n");
        else if((ispq)&&(!isq)&&(!isS))
            printf("priority queue\n");
        else if((!ispq)&&(isq)&&(!isS))
            printf("queue\n");
        else if((!ispq)&&(!isq)&&(isS))
            printf("stack\n");
        else
            printf("not sure\n");
    }
    return 0;
}

UVA11995 I Can Guess the Data Structure!

标签:oss   int   ace   pos   namespace   ble   false   possible   else   

原文地址:https://www.cnblogs.com/dreagonm/p/10681208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!