1808: 洗盘子
题目描述
Bessie 和 Canmuu 将联手洗掉N (1<= N <= 10,000) 个脏盘子。
Bessie 洗; Canmuu 来擦干它们.
每个盘子有一个指定的编号,范围1..N. 开始,所有盘子按顺序排列在栈中,1号盘子在顶端,N号盘子在底端.
Bessie 会先洗一些盘子,然后放在洗过的盘子栈里(这样原来的顺序颠倒).
然后,或者她洗别的盘子,或者Canmuu 擦干她已经洗好的部分或全部盘子,放在擦干的盘子栈里。
这样直到所有盘子洗完擦干后放置的顺序是什么?
比如
1 <-- top
2
3
4
5 <-- bottom
第一次洗3个:
未洗
| 洗了但未擦干
| | 洗了并擦干的
| | |
TOP 1
2 2
3 -> 3 -> 3 -> 3
4 4 4 2 4 2
BOTTOM 5 - - 5 1 - 5 1 - 5 1 -
开始 洗了1号 洗了2号 洗了3号
Canmuu 擦了2个,然后放在擦干的盘子栈里:
TOP 3
4 2 -> 4 2 -> 4 2
BOTTOM 5 1 - 5 1 3 5 1 3
Bessie 又来洗最后2个:
TOP 5
4 2 -> 4 2 -> 4 2
BOTTOM 5 1 3 5 1 3 - 1 3
Finally, Canmuu 擦干了剩下的三个盘子,放置顺序如下:
TOP 1
4 4
5 -> 5 -> 5 -> 5
4 2 4 2 2 2
BOTTOM - 1 3 - 1 3 - 1 3 - - 3
序号如下: 1, 4, 5, 2, 3.
输入
第一行: 一个整数N,表示盘子的数量
以下若干行: 每一行两个整数 ,第一整数为1表示洗盘子,为2表示擦盘子,第二个整数表示数量
输出
输出格式:
共N行:擦干后盘子从顶端到底端的顺序
样例输入 复制
5
1 3
2 2
1 2
2 3
样例输出 复制
1
4
5
2
3