测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6389. 「SHOI2013」发牌

编程题 省选/NOI-

题目描述

在一些扑克游戏里,如德州扑克,发牌是有讲究的。一般称呼专业的发牌手为荷官。荷官在发牌前,先要销牌(burn card)。所谓销牌,就是把当前在牌库顶的那一张牌移动到牌库底,它用来防止玩家猜牌而影响游戏。

假设一开始,荷官拿出了一副新牌,这副牌有 $N$ 张不同的牌,编号依次为 $1,\dots,N$。
由于是新牌,所以牌是按照顺序排好的,从牌库顶开始,依次为 $1,\dots,N$,$N$ 号牌在牌库底。

为了发完所有的牌,荷官会进行 $N$ 次发牌操作,在第 $i$ 次发牌之前,他会连续进行 $R_i$ 次销牌操作,$R_i$ 由输入给定。请问最后玩家拿到这副牌的顺序是什么样的?

举个例子,假设 $N = 4$,则一开始的时候,牌库中牌的构成顺序为 $\{1,2,3,4\}$。
假设 $R_1=2$,则荷官应该连销两次牌,将 $1$ 和 $2$ 放入牌库底,再将 $3$ 发给玩家。目前牌库中的牌顺序为 $\{4, 1, 2\}$。
假设 $R_2=0$,荷官不需要销牌,直接将 $4$ 发给玩家,目前牌库中的牌顺序为 $\{1,2\}$。
假设 $R_3=3$,则荷官依次销去了 $1,2,1$,再将 $2$ 发给了玩家。目前牌库仅剩下一张牌 $1$。
假设 $R_4=2$,荷官在重复销去两次 $1$ 之后,还是将 $1$ 发给了玩家,这是因为 $1$ 是牌库中唯一的一张牌。

输入格式

第 $1$ 行,一个整数 $N$,表示牌的数量。
以下 $N$ 行,每行一个整数 $R_i$。

输出格式

第 $i$ 行只有一个整数,表示玩家收到的第 $i$ 张牌的编号。

输入输出样例

输入 #1
4
2
0
3
2
输出 #1
3
4
2
1

说明/提示

$0 \le R_i < N$

|数据点|规模|
|:-:|:-:|
|$1$|$N = 5000$|
|$2$|$N = 10^4$|
|$3$|$N = 5 \times 10^4$|
|$4$|$N = 10^5$|
|$5$|$N = 2 \times 10^5$|
|$6$|$N = 3 \times 10^5$|
|$7$|$N = 4 \times 10^5$|
|$8$|$N = 5 \times 10^5$|
|$9$|$N = 6 \times 10^5$|
|$10$|$N = 7 \times 10^5$|
上一题 去做题 下一题