#P3943. 新猴王

新猴王

题目描述

花果山水帘洞的猴子们正在玩一场游戏,获胜者可获得孙悟空的真传,游戏规则如下:

  1. 共有 m 只猴子参与,围坐成一圈,编号从 1 到 m;
  2. 长老从 1~9 中选择一个整数 n 作为“出局数字”,从 1 号猴子开始按顺序报数;
  3. 数到 n 的猴子是否出局,取决于其类型:
    • 普通猴子(标记为 1):数到 1 次 n 即出局;
    • 六耳猕猴(标记为 0):拥有两次机会,需数到 2 次 n 才出局;
  4. 出局猴子的下一只猴子将作为新的起点重新报数,重复此过程,直到只剩 1 只猴子,该猴子即为获胜者。

请编程计算最终获胜猴子的编号。

输入格式

  1. 第一行:输入整数 m,表示参与游戏的猴子总数;
  2. 第二行:输入 m 个整数(用空格分隔),第 i 个整数表示编号为 i 的猴子类型(1 为普通猴子,0 为六耳猕猴);
  3. 第三行:输入整数 n,表示“出局数字”。

输出格式

输出一行整数,代表最终获胜猴子的编号。

样例输入输出

样例 1

  • 样例输入 1:
3
1 0 1
2
  • 样例输出 1:
2

Hint

样例 1 详细过程

  1. 初始状态:猴子编号 1(普通,1)、2(六耳,0)、3(普通,1),n=2,从 1 号开始报数;
  2. 第一轮报数:1 号报 1,2 号报 2(六耳猕猴首次数到 n,不出局),报数暂停,下一轮从 3 号开始;
  3. 第二轮报数:3 号报 1,1 号报 2(普通猴子首次数到 n,出局),剩余猴子为 2 号、3 号,下一轮从 2 号开始;
  4. 第三轮报数:2 号报 1,3 号报 2(普通猴子首次数到 n,出局),最终只剩 2 号猴子,即为获胜者。

数据范围

  • 参与游戏的猴子数量 m ≤ 20;
  • 出局数字 n 满足 1 ≤ n ≤ 9;
  • 题目保证数据有效,最终一定能只剩 1 只猴子。