问题是-
Ari和Rich正在玩一个令人困惑的游戏。这是游戏规则:
游戏进行了两堆比赛。最初,第一个堆包含N个匹配项,第二个堆包含M个匹配项。 玩家交替轮流;阿里先打。
当前回合中,当前玩家必须选择一个堆并从中删除正数的比赛(不超过该堆上当前的比赛数)。
如果另一堆中的火柴数除以X,则只能从堆中删除X个火柴。
从所有筹码中拿出最后一场比赛的玩家获胜。
可以证明,只要两堆都是非空的,总是至少有一个有效的举动,因此游戏必须先清空一些堆。阿里(Ari)和里奇(Rich)都表现最佳。确定游戏的获胜者。
输入
输入的第一行包含一个单个整数T,表示测试用例的数量。 T测试用例的描述如下。 每个测试用例的第一行也是唯一一行包含两个以空格分隔的整数N和M
输出
对于每个测试用例,如果Ari获胜,则打印包含一行“ Ari”(不带引号)的一行;如果Rich获胜,则打印“ Rich”(不带引号)的一行。
test = int(input())
for i in range(test):
a = list(map(lambda x:int(x),input().split()))
a.sort()
player = 1
t = a[0]
b = a[0]
n = a[1]
while(t!=0):
while(n%t!=0):
t=t-1
b=b-t
t=b
player+=1
if(player %2==0):
print("Ari")
else:
print("Rich")
编辑后的代码应克服所有错误