蓝桥杯 算法提高 队列操作 (坑)

来源:互联网 发布:哪一个翻译软件最好 编辑:程序博客网 时间:2024/05/16 11:45

 算法提高 队列操作  
时间限制:1.0s   内存限制:256.0MB
    
问题描述
  队列操作题。根据输入的操作命令,操作队列(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输入格式
  第一行一个数字N。
  下面N行,每行第一个数字为操作命令(1)入队、(2)出队并输出、(3)计算队中元素个数并输出。
输出格式
  若干行每行显示一个2或3命令的输出结果。注意:2.出队命令可能会出现空队出队(下溢),请输出“no”,并退出。
样例输入
7
1 19
1 56
2
3
2
3
2
样例输出
19
1
56
0
no
数据规模和约定
  1<=N<=50

原题链接:http://lx.lanqiao.cn/problem.page?gpid=T418

本来是水题,却有一个坑!即:当队列为空的时候,再出队的时候,输出‘no’以后并要结束程序。

AC代码:

#include <iostream>#include <queue>using namespace std;int main(){    int n;    cin>>n;    queue<int>q;    int x,y;    while(n--)    {        cin>>x;        if(x==1)        {            cin>>y;            q.push(y);        }        else if(x==2)        {            if(q.size()>0)            {                //int z=q.front();                cout<<q.front()<<endl;                q.pop();            }            else            {                cout<<"no"<<endl;                return 0;                //坑!!!            }        }        else        {            //int z=q.size();            cout<<q.size()<<endl;        }    }    return 0;}




0 0
原创粉丝点击