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