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

题目描述

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
代码编辑器 加载中...
测试用例(F10) 运行测试(F11) 提交答案(F12)
测试用例输入
{{resultStatus.text}}