栈是一种数据结构。现在你要支持几种操作:
-
push x,将x这个元素放到栈顶。
-
pop,表示将栈顶的元素删除。
-
query k,询问从栈顶往下数第k个元素是多少。
第一行一个整数m,表示操作个数。
接下来m行,每行一个上面所述的操作。
输出格式输出若干行,对于每个查询操作,输出答案。
样例输入10 push 1 push 2 query 1 query 2 push 3 query 1 pop query 1 push 4 query 1样例输出
2 1 3 2 4数据规模 题解
#include#include using namespace std; const int N = 1e5+5; int Stack[N], top = 0; char tmp[6]; int main(){ int m; scanf("%d", &m); while(m--){ scanf("%s", tmp); if(tmp[2] == 's') scanf("%d", &Stack[++top]); else if(tmp[0] == 'q'){ int k; scanf("%d", &k); printf("%dn", Stack[top+1-k]); //从栈顶往下数第k个是减(k-1) } else --top; } return 0; }



