C1052 - 合法的出栈顺序
题目描述
给定N个字符元素,这N个字符元素依次入栈,在入栈的过程中是可以有出栈行为的,然后判断给定的字符序列是否是一个合法的出栈序列
输入格式
第1行包含一个正整数N,表示接下来有N个字符元素用于依次入栈
第2行,一行字符串,由N个不同的字符组成(大小写英文字符、数字字符),不包含空格
第3行,询问次数q,代表接下来会有q次询问
接下来有q行,每行一个字符串,代表一个待询问的出栈序列,每行有N个字符
输出格式
q行,每行代表依次询问的出栈序列是否是合法的出栈序列,如果是,则输出Yes,不是输出No
输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| 5 ABCDE 3 ABCDE EDCBA EBADC |
Yes Yes No |
| 5 43125 3 52134 52431 43125 |
Yes No Yes |
输入输出样例解释
以第1组数据作为说明:
输入样例:
第1行:5,代表接下来会有5个字符输入,这5个字符依次入栈,入栈过程中可以有出栈行为
第2行:ABCDE,代表入栈的字符依次为:A B C D E
第3行:3,代表询问次数为3
第4行:ABCDE,代表一个询问的出栈序列ABCDE,询问该序列是否是合法的出栈序列
第5行:EDCBA,代表一个询问的出栈序列EDCBA,询问该序列是否是合法的出栈序列
第6行,EBADC,代表一个询问的出栈序列EBADC,询问该序列是否是合法的出栈序列
输出样例:
对于ABCDE出栈序列是合法的,输出Yes,因为入栈、出栈顺序可以是:A入栈,A出栈,B入栈,B出栈,C入栈,C出栈,D入栈,D出栈,E入栈,E出栈
对于EDCBA出栈序列是合法的,输出Yes,因为入栈、出栈顺序可以是:A入栈,B入栈,C入栈,D入栈,E入栈,E出栈,D出栈,C出栈,B出栈,A出栈
对于EBADC出栈序列是不合法的,输出No,因为无法如何入栈、出栈组合,都得不到这个出栈序列的
数据范围与提示
100%的数据:$1 \le N \le 10$,$1 \le q \le 10$,
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式