#4991. 循环移牌
循环移牌
循环移牌
- 时间限制:1.0 s
- 内存限制:512.0 MB
题目描述
小绿手里有 n 张牌,从上到下编号依次为 。他把这些牌从上到下依次放入一个 deque(队头在最上面)。
接下来小绿会执行 m 次操作,每次操作都做同一件事:
- 把队头(最上面)的那张牌拿出来,放到队尾(最下面)。
请你告诉小绿,在完成 m 次操作之后,队头(最上面)的那张牌是几号。
输入格式
一行两个整数 n 和 m,用空格隔开。
输出格式
一行一个整数,表示 m 次操作后队头那张牌的编号。
输入样例
5 2
输出样例
3
提示
- 模拟过程:初始 deque 为
1 2 3 4 5(队头是 1)。第 1 次操作后变成2 3 4 5 1,第 2 次操作后变成3 4 5 1 2,此时队头是 3。 - 用
pop_front取出队头牌,用push_back放回队尾,即模拟一次操作。 - 注意:m 可能很大,直接循环 m 次会超时。想一想 m 和 n 的关系,最多需要实际循环多少次?(提示:操作 n 次后队列恢复原样)
- 数据范围:,。
输入样例2
5 0
输出样例2
1