• 3186 队列练习 2


    3186 队列练习 2

     

    时间限制: 1 s
    空间限制: 128000 KB
    题目等级 : 黄金 Gold
     
     
     
    题目描述 Description

    (此题与队列练习1相比改了2处:1加强了数据 2不保证队空时不会出队)
    给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请
    输出最终的队头元素。 操作解释:1表示入队,2表示出队

    输入描述 Input Description

    N(操作个数)
    N个操作(如果是入队则后面还会有一个入队元素)
    具体见样例(输入保证队空时不会出队)

    输出描述 Output Description

    最终队头元素,若最终队空,或队空时有出队操作,输出”impossible!”(不含引号)

    样例输入 Sample Input

    3
    1 2
    2
    2

    样例输出 Sample Output

    impossible!

    数据范围及提示 Data Size & Hint

    对于100%的数据  N≤100000 元素均为正整数且小于等于10^8

     1 #include<iostream>
     2 #include<queue>
     3 using namespace std;
     4 queue<int>a;
     5 int main()
     6 {
     7     int n;
     8     cin>>n;
     9     for(int i=1;i<=n;i++)
    10     {
    11         int b;
    12         cin>>b;
    13         if(b==1)
    14         {
    15             int c;
    16             cin>>c;
    17             a.push(c);
    18         }
    19         else if(b==2)
    20         {
    21             if(a.size()!=0)
    22             a.pop();
    23             else
    24             {
    25                 cout<<"impossible!";
    26                 return 0;
    27             }
    28         }
    29     }
    30     if(a.size()==0)
    31     {
    32         cout<<"impossible!";
    33     }
    34     else
    35     {
    36         cout<<a.front();
    37     }
    38     return 0;
    39 }
  • 相关阅读:
    d3 之deal with data
    git 使用小结
    【nodemailer】之 work with mustache
    Mustache
    【nodemailer】 初试
    【计算机基础】二.组成1(总线、输入输出)
    【计算机基础】一.概述
    Sring事务管理
    【并发编程】4.JUC中常用的锁
    【并发编程】3.线程与线程池
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6636304.html
Copyright © 2020-2023  润新知