编程题
### 问题描述 有两位农夫,分别是农夫约翰($Farmer$ $John$)和他的宿敌农夫乔恩($Farmer$ $Nhoj$),他们在一个圆形的谷仓中进行游戏。谷仓中有 $N$ 个房间,第 $i$ 个房间初始时有 $a_i$ 头牛。游戏规则如下: 两位农夫始终在同一个房间。开始时,他们都在第一个房间。 如果当前房间中没有牛,轮到的农夫将输掉游戏。 否则,轮到的农夫选择一个整数 $P$,$P$ 必须是 1 或不超过当前房间中牛的数量的素数,然后从当前房间中移除 $P$ 头牛。 农夫轮流进行,约翰先开始。然后,两位农夫移到下一个房间,如果他们在第 $N$ 个房间,就移动到第一个房间。 请确定在双方都采取最优策略的情况下,哪位农夫会赢得游戏。 ### 输入格式 输入包含多个测试用例。第一行包含一个整数 $T$ $(1\leq T\leq 1000)$,表示测试用例的数量。接下来是 $T$ 个测试用例,每个测试用例的格式如下: 第一行包含一个整数 $N$,表示谷仓中的房间数量。 第二行包含 $N$ 个整数 $a_i$,表示每个房间初始时的牛的数量。 ### 输出格式 输出哪位农夫将赢得游戏,输出 $Farmer$ $John$ 或 $Farmer$ $Nhoj$。 ### 样例输入 ``` 4 2 1 4 5 1 2 2 3 2 4 ``` ### 样例输出 ``` 3 3 2 1 4 2 2 2 1 1 ``` ### 评测数据规模 $ 1\leq N \leq 10^5 $,$1\leq a_i \leq 5 \times 10^6$。
查看答案
赣ICP备20007335号-2