#P3943. 新猴王
新猴王
题目描述
花果山水帘洞的猴子们正在玩一场游戏,获胜者可获得孙悟空的真传,游戏规则如下:
- 共有 m 只猴子参与,围坐成一圈,编号从 1 到 m;
- 长老从 1~9 中选择一个整数 n 作为“出局数字”,从 1 号猴子开始按顺序报数;
- 数到 n 的猴子是否出局,取决于其类型:
- 普通猴子(标记为 1):数到 1 次 n 即出局;
- 六耳猕猴(标记为 0):拥有两次机会,需数到 2 次 n 才出局;
- 出局猴子的下一只猴子将作为新的起点重新报数,重复此过程,直到只剩 1 只猴子,该猴子即为获胜者。
请编程计算最终获胜猴子的编号。
输入格式
- 第一行:输入整数 m,表示参与游戏的猴子总数;
- 第二行:输入 m 个整数(用空格分隔),第 i 个整数表示编号为 i 的猴子类型(1 为普通猴子,0 为六耳猕猴);
- 第三行:输入整数 n,表示“出局数字”。
输出格式
输出一行整数,代表最终获胜猴子的编号。
样例输入输出
样例 1
- 样例输入 1:
3
1 0 1
2
- 样例输出 1:
2
Hint
样例 1 详细过程
- 初始状态:猴子编号 1(普通,1)、2(六耳,0)、3(普通,1),n=2,从 1 号开始报数;
- 第一轮报数:1 号报 1,2 号报 2(六耳猕猴首次数到 n,不出局),报数暂停,下一轮从 3 号开始;
- 第二轮报数:3 号报 1,1 号报 2(普通猴子首次数到 n,出局),剩余猴子为 2 号、3 号,下一轮从 2 号开始;
- 第三轮报数:2 号报 1,3 号报 2(普通猴子首次数到 n,出局),最终只剩 2 号猴子,即为获胜者。
数据范围
- 参与游戏的猴子数量 m ≤ 20;
- 出局数字 n 满足 1 ≤ n ≤ 9;
- 题目保证数据有效,最终一定能只剩 1 只猴子。