第33510题 程序题
硬币游戏:最优策略下判断获胜者

题目描述

Jerry和Tom正在进行一局游戏。他们准备了n个盒子,编号为1到n,其中i号盒子装有ai枚硬币。他们将这n个盒子围成一圈。游戏规则如下:

  1. Jerry和Tom轮流从某一个盒子中取走至少一枚硬币,Jerry先手从1号盒子开始取;
  2. 如果前一个玩家取的是i号盒子中的硬币,那么当前玩家必须从i+1号盒子中取硬币。特别地,如果前一个玩家取的是n号盒子中的硬币,那么当前玩家必须从1号盒子中取硬币;
  3. 如果轮到某位玩家时对应盒子中没有硬币,则该玩家失败。

假设Jerry和Tom都采取最优策略,请问谁会赢?

输入描述

本题每个测试点包含多组测试数据,格式如下: 第一行输入一个整数T(1≤T≤100),表示数据组数; 对于每组测试数据:

  • 第一行输入一个整数n(1≤n≤1000),表示盒子的数量;
  • 第二行输入n个整数ai(1≤ai≤10^9),分别表示1号到n号盒子中的硬币数量,整数之间以一个空格隔开。

输出描述

输出T行,每行输出一个字符串,对于第i组测试数据,如果Jerry能赢,则输出Jerry,否则输出Tom

样例输入

2
1
10
2
30 50

样例输出

Jerry
Tom
编辑模式
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析