UVA-11995 I Can Guess the Data Structure!(STL:各容器的简单运用)

来源:互联网 发布:java和android的前景 编辑:程序博客网 时间:2024/06/10 18:35

题目链接: 11995 - I Can Guess the Data Structure!

思路: 将容器的值算出来在进行比较即可

CODE:

#include <iostream>#include<stdio.h>#include<set>#include<queue>#include<stack>#include<map>using namespace std;int main(){    //freopen("in.in","r",stdin);    int T,n;    while(~scanf("%d",&T))    {        queue<int>que;        stack<int>sta;        priority_queue<int>pro;        int q=0,s=0,p=0,t=0;        while(T--)        {            int a,b;            scanf("%d%d",&a,&b);            if(a==1)            {                que.push(b);                sta.push(b);                pro.push(b);            }            if(a==2)            {                t++;                if(!que.empty()&&b==que.front())                {                    q++;                    que.pop();                }                if(!sta.empty()&&b==sta.top())                {                    s++;                    sta.pop();                }                if(!pro.empty()&&b==pro.top())                {                    p++;                    pro.pop();                }            }        }        if(q!=t&&s!=t&&p!=t) printf("impossible\n");        if(q==t&&s!=t&&p!=t) printf("queue\n");        if(s==t&&q!=t&&p!=t) printf("stack\n");        if(p==t&&q!=t&&s!=t) printf("priority queue\n");        if((q==t&&s==t)||(q==t&&p==t)||(s==t&&p==t)) printf("not sure\n");    }    return 0;}


0 0
原创粉丝点击