#9341. ccj与zrz之积木问题(洛谷 - P2790)
ccj与zrz之积木问题(洛谷 - P2790)
说明
从左到右有 n 个木块,编号从 0 到 n−1,要求模拟以下 4 种操作(下面的 a 和 b 都是木块编号,归位表示比如 1 号木块归到 1 号位去)。
- move a onto b:把 a 和 b 上方的木块全部归位,然后把 a 摞在 b 上面;
- move a over b:把 a 上方的全部归位,然后把 a 放在 b 所在木块堆的顶部;
- pile a onto b:把 b 上方的木块全部归位,然后把 a 及上面的木块整体摞在 b 上面;
- pile a over b:把 a 及上面的木块整体摞在 b 所在木块堆的顶部;
- 遇到 quit 停止。a 和 b 在同一堆的指令时非法指令,应当忽略。
最后输出每个位置的木块列表,按照从底部到顶部的顺序排列。
输入格式
第一行一个整数 n。
接下来若干行:每行一个指令(语法不会错),遇到 quit 停止。
输出格式
输出共 n 行,第 i 行输出一个 i 和冒号,然后一个空格,输出,它位置上的所有积木。
10
move 9 onto 1
move 8 over 1
move 7 over 1
move 6 over 1
pile 8 over 6
pile 8 over 5
move 2 over 1
move 4 over 9
quit
0: 0
1: 1 9 2 4
2:
3: 3
4:
5: 5 8 7 6
6:
7:
8:
9:
提示
数据范围及约定
对于全部数据,0<n<25。
原题链接