3122: 栈的判断
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
给定 �n 个数字,已知这些数字的入栈顺序为 1,2,⋯,�1,2,⋯,n,给定一个出栈顺序 �1,�2,⋯,��a1,a2,⋯,an,请判断它是否是一个合理的出栈顺序。
输入
第一行:单个整数 �n;
第二行:�n 个整数表示 �1,�2,⋯,��a1,a2,⋯,an
第二行:�n 个整数表示 �1,�2,⋯,��a1,a2,⋯,an
- 1≤ai≤n
- 对于 30%30% 的数据,1≤�≤201≤n≤20;
- 对于 60%60% 的数据,1≤�≤2,0001≤n≤2,000;
- 对于 100%100% 的数据,1≤�≤100,0001≤n≤100,000;
输出
如果合法,输出 Valid,否则输出 Invalid
样例输入 复制
5
4 5 3 2 1
样例输出 复制
Valid
提示
1 入栈
2 入栈
3 入栈
4 入栈
4 出栈
5 入栈
5 出栈
3 出栈
2 出栈
1 出栈
有人说:
栈的特点是先进后出,所以当输入了一个数时,要想让出栈顺序合法,就得让它后面比它小的数是逆序排序的,比如 4,5,3,2,1的出栈顺序是合法的,如果改成 4,5,1,2,3 的话就不行了。
2 入栈
3 入栈
4 入栈
4 出栈
5 入栈
5 出栈
3 出栈
2 出栈
1 出栈
有人说:
栈的特点是先进后出,所以当输入了一个数时,要想让出栈顺序合法,就得让它后面比它小的数是逆序排序的,比如 4,5,3,2,1的出栈顺序是合法的,如果改成 4,5,1,2,3 的话就不行了。