3186 队列练习 2
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description
(此题与队列练习1相比改了2处:1加强了数据 2不保证队空时不会出队)给定一个队列(初始为空),只有两种操作入队和出队,现给出这些操作请输出最终的队头元素。 操作解释:1表示入队,2表示出队
输入描述 Input Description
N(操作个数)N个操作(如果是入队则后面还会有一个入队元素)具体见样例(输入保证队空时不会出队)
输出描述 Output Description
最终队头元素,若最终队空,或队空时有出队操作,输出”impossible!”(不含引号)
样例输入 Sample Input
31 222
样例输出 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 else24 {25 cout<<"impossible!";26 return 0;27 }28 }29 }30 if(a.size()==0)31 {32 cout<<"impossible!";33 }34 else35 {36 cout<<a.front();37 }38 return 0;39 }
去看日出,去散步,去欣赏大自然,