3137 栈练习1 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 给定一个栈(初始为空,元素类型为整数,且小于等于100),只有两个操作:入栈和出栈。先给出这些操作,请输出最终栈的栈顶元素。 操作解释:1表示入栈,2表示出栈 输入描述 Input Description N(操作个数) N个操作(如果是入栈则后面还会有一个入栈元素) 具体见样例(输入保证栈空时不会出栈) 输出描述 Output Description 最终栈顶元素,若最终栈空,输出”impossible!”(不含引号) 样例输入 Sample Input 3 1 2 1 9 2 样例输出 Sample Output 2 数据范围及提示 Data Size & Hint 对于100%的数据 N≤1000 元素均为正整数且小于等于100 1 #include<iostream> 2 using namespace std; 3 int stack[1001]; 4 int top=1; 5 int main() 6 { 7 int n; 8 cin>>n; 9 for(int i=1;i<=n;i++) 10 { 11 int a; 12 cin>>a; 13 if(a==2) 14 top--; 15 else 16 { 17 int b; 18 cin>>b; 19 stack[top]=b; 20 top++; 21 } 22 } 23 if(top==1) 24 { 25 cout<<"impossible!"; 26 } 27 else 28 { 29 cout<<stack[top-1]; 30 } 31 return 0; 32 }