【codevs 3187】队列练习3

来源:互联网 发布:小学生教育软件 编辑:程序博客网 时间:2024/06/06 11:50

题目描述 Description
比起第一题,本题加了另外一个操作,访问队头元素(编号3,保证访问队头元素时或出队时队不为空),现在给出这N此操作,输出结果。

输入描述 Input Description
N
N次操作(1入队 2出队 3访问队头)

输出描述 Output Description
K行(K为输入中询问的个数)每次的结果

样例输入 Sample Input
6
1 7
3
2
1 9
1 7
3

样例输出 Sample Output
7
9

#include<iostream>#include<cstdio>using namespace std;const int maxn=100000+10;int a[maxn],k[maxn];int n,head,tail;void push(int s){    tail++;    k[tail]=s;}void pop(){    head++;}int main(){    scanf("%d",&n);    int r;    for(int i=1;i<=n;i++)    {        scanf("%d",&a[i]);        if(a[i]==1)        {            scanf("%d",&r);            push(r);        }        else if(a[i]==2)        {            pop();        }        else if(a[i]==3)        {            cout<<k[head+1]<<endl;        }    }    return 0;}