2 条题解

  • 4
    @ 2023-8-26 21:14:16

    题目:

    设有一堆石子,数量为NN,两个人轮番取出其中的若干个,每次最多取MM个,最先把石子取完者胜利。

           \ \ \ \ \ \ \ 注意到石子数N=s(M+1)+rN=s(M+1)+r时,先行者只需取走rr个石子,令后行者面对s(M+1)s(M+1)的局面;无论后行者取走多少个石子,设其为xx(1xM)(1\le x\le M),先行者只需取走M+1xM+1-x个石子,令后行者继续面对s(M+1)s(M+1)的局面即可。最终后行者面对剩余M+1M+1个石子的局面时,无论如何都不可能取完,故先行者必胜。

           \ \ \ \ \ \ \ 类似地,若先行者一开始面对的就是N=s(M+1)N=s(M+1)的局面,则先行者必败。


    n = int(input())
    for _ in range(n):
        lst = list(map(int, input().split( )))
        if lst[0] % (lst[1] + 1):
            print('Win')
        else:
            print('Lose')
    

    信息

    ID
    126
    时间
    3000ms
    内存
    128MiB
    难度
    6
    标签
    (无)
    递交数
    1098
    已通过
    316
    上传者