对于以下问题,如何克服TLE错误?

时间:2019-05-10 04:31:49

标签: python-3.x time-complexity

我正在为编程比赛解决此代码,但经过一些测试案例,它给出了很小的错误。我需要做些什么改变才能克服这个问题。

问题是-

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")

编辑后的代码应克服所有错误

0 个答案:

没有答案