logo AlgoBeat OnlineJudge
登录 注册

#104415. [BZOJ 4415] [Shoi2013]发牌

内存限制:256 MiB 时间限制:10000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

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

假设一开始,荷官拿出了一副新牌,这副牌有 张不同的牌,编号依次为 。由于是新牌,所以牌是按照顺序排好的,从牌库顶开始,依次为 号牌在牌库底。为了发完所有的牌,荷官会进行 次发牌操作,在第 次发牌之前,他会连续进行 次销牌操作, 由输入给定。请问最后玩家拿到这副牌的顺序是什么样的?

举个例子,假设 ,则一开始的时候,牌库中牌的构成顺序为

  • 假设 ,则荷官应该连销两次牌,将 放入牌库底,再将 发给玩家。目前牌库中的牌顺序为
  • 假设 ,荷官不需要销牌,直接将 发给玩家,目前牌库中的牌顺序为
  • 假设 ,则荷官依次销去了 ,再将 发给了玩家。目前牌库仅剩下一张牌
  • 假设 ,荷官在重复销去两次 之后,还是将 发给了玩家,这是因为 是牌库中唯一的一张牌。

输入格式

第一行,一个整数 ,表示牌的数量。

第二行到第 行,在第 行,有一个整数

输出格式

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

样例

样例输入 #1

4
2
0
3
2

样例输出 #1

3
4
2
1

数据范围与提示

对于 的数据,

测试点编号 测试点编号