Editorial for Clue Contest 05 - Bốc kẹo


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.

Authors: clue_, noodles0428

Xét trạng thái cả hai túi kẹo đều có chẵn viên kẹo, và đang đến lượt của ~A~.

Trường hợp 1: Hai túi đều hết kẹo.

Lúc này, đương nhiên ~A~ thua.

Trường hợp 2: Chỉ một túi có kẹo.

Lúc này, ~A~ chỉ có thể bốc một viên kẹo từ túi đó, và ~B~ cũng vậy. Trạng thái được lặp lại, với hai túi đều có chẵn viên kẹo, và đang đến lượt của ~A~.

Trường hợp 3: Hai túi đều có kẹo.
  • Nếu ~A~ bốc một viên kẹo từ một trong hai túi, ~B~ sẽ bốc một viên kẹo từ túi đó. Trạng thái được lặp lại, với hai túi đều có chẵn viên kẹo, và đang đến lượt của ~A~.
  • Nếu ~A~ bốc một viên kẹo từ cả hai túi, ~B~ sẽ bốc một viên kẹo từ cả hai túi. Trạng thái được lặp lại, với hai túi đều có chẵn viên kẹo, và đang đến lượt của ~A~.

Vì vậy, nếu ~n~ và ~m~ đều chẵn, ta sẽ đi sau. Ngược lại, ta sẽ đi trước để tạo trạng thái hai túi đều có chẵn viên kẹo.

Code mẫu:

import sys
import math


def main():
    ok = 0
    x, y = map(int, input().split())
    if x % 2 == 0 and y % 2 == 0:
        print(1)
    else:
        print(0)
        if x % 2 == 1 and y % 2 == 1:
            x -= 1 
            y -= 1 
            print("AB")
        elif x % 2 == 1 and y % 2 == 0:
            x -= 1 
            print("A")
        else: 
            y -= 1 
            print("B") 

    while True:
        res = input().strip()
        if res == "A":
            x -= 1 
        elif res == "B":
            y -= 1 
        elif res == "AB": 
            x -= 1 
            y -= 1 
        if res == "-1":
            break 
        if x % 2 == 1 and y % 2 == 1:
            x -= 1 
            y -= 1 
            print("AB")
        elif x % 2 == 1 and y % 2 == 0:
            x -= 1 
            print("A")
        else: 
            y -= 1 
            print("B") 


if __name__ == "__main__":
    main()

Comments

Please read the guidelines before commenting.


There are no comments at the moment.