文理学院程序设计在线练习


03-栈与队列 栈序列匹配

Time Limit: 1 Second(s)    Memory Limit: 32 MB

Total Submission(s): 1705   Accepted Submission(s): 956
Problem Description

对于给出的入栈序列和出栈序列,判断这两个序列是否相容,即能否利用栈操作将入栈序列转换为出栈序列。若相容,则输出yes,否则输出no。要求在判断栈序列的匹配过程中,给出入栈、出栈的过程。

Input

首先输入一个整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入用一个空格分隔的两个字符串(两个串的 长度可能不一样,长度均不超过10),分别表示入栈序列和出栈序列。

Output

对于每组测试,每入栈或出栈一次输出一行:“push:c”或“pop:c”,其中c为入栈或出栈的字符,最后一行根据入栈序列和出栈序列是否匹配分别输出“yes”或“no(参见Sample Output)。引号不必输出。

Sample Input
4
ABCDEF DCEFAB
ABCDEF ACEDBF
A AB
AB A
Sample Output
push:A
push:B
push:C
push:D
pop:D
pop:C
push:E
pop:E
push:F
pop:F
no
push:A
pop:A
push:B
push:C
pop:C
push:D
push:E
pop:E
pop:D
pop:B
push:F
pop:F
yes
push:A
pop:A
no
push:A
pop:A
push:B
no