1808: 洗盘子

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:8 解决:3

题目描述

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