#include<cstdlib>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<set>
#include<map>
#include<list>
#include<stack>
#include<queue>
#include<vector>
#define LL long long
#define inf 0x7fffffff
#define exp 1e-9
#define M 100
#define N 105
using namespace std;
int m,n,t;
int main()
{
#ifndef ONLINE_JUDGE
freopen("ex.in","r",stdin);
#endif
while(scanf("%d",&n)==1)
{
int qa=1,pqa=1,sa=1;
queue<int> q;
priority_queue<int> pq;
stack<int> s;
for (int i=0; i<n; ++i )
{
int x;
scanf("%d",&x);
if(x==1)
{
scanf("%d",&x);
q.push(x);
pq.push(x);
s.push(x);
}
else
{
scanf("%d",&x);
int t;
if(q.empty())
{
qa=pqa=sa=0;
continue;//wa
}
t=q.front();
q.pop();
if(t!=x)
qa=0;
t=pq.top();
pq.pop();
if(t!=x)
pqa=0;
t=s.top();
s.pop();
if(t!=x)
sa=0;
}
}
int ans=qa+pqa+sa;
if(ans>=2)
printf("not sure\n");
else if(ans==0)
printf("impossible\n");
else if(qa)
printf("queue\n");
else if(pqa)
printf("priority queue\n");
else
printf("stack\n");
}
return 0;
}
uva11995--水题(训练指南)
最新推荐文章于 2020-08-10 16:08:18 发布