题目描述
车厢按 $1..n$ 的顺序驶入一条单向轨道,可随时推入一个侧线栈或从栈顶弹出驶向目标方向。给定目标出站序列(是 $1..n$ 的排列),判断能否实现;能则输出字典序最小的操作序列(每步一行 push 或 pop;在必须 pop 前尽量先 pop)。
输入格式
第一行整数 $n$;第二行 $n$ 个整数为目标序列。
输出格式
不可能输出 impossible;否则每行一个操作,共 $2n$ 行。
数据范围
$$1 \le n \le 2000$$
车厢按 $1..n$ 的顺序驶入一条单向轨道,可随时推入一个侧线栈或从栈顶弹出驶向目标方向。给定目标出站序列(是 $1..n$ 的排列),判断能否实现;能则输出字典序最小的操作序列(每步一行 push 或 pop;在必须 pop 前尽量先 pop)。
第一行整数 $n$;第二行 $n$ 个整数为目标序列。
不可能输出 impossible;否则每行一个操作,共 $2n$ 行。
1 1
push pop
2 2 1
push push pop pop