问题3365--洗盘子

3365: 洗盘子

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

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

来源/分类


[提交] [状态]