목차

Towers of coins

ps
링크acmicpc.net/…
출처BOJ
문제 번호3358
문제명Towers of coins
레벨골드 4
분류

게임 이론

시간복잡도O(n + t)
인풋사이즈n<=100,000, t<=50
사용한 언어Python 3.11
제출기록39068KB / 108ms
최고기록108ms
해결날짜2023/07/08

풀이

코드

"""Solution code for "BOJ 3358. Towers of coins".

- Problem link: https://www.acmicpc.net/problem/3358
- Solution link: http://www.teferi.net/ps/problems/boj/3358

Tags: [Game theory]
"""


def main():
    # pylint: disable=unused-variable
    K, L, m = [int(x) for x in input().split()]
    N = [int(x) for x in input().split()]

    max_n = max(N)
    is_win_pos = [False] * (max_n + L + 1)
    for i in range(max_n + 1):
        if not is_win_pos[i]:
            is_win_pos[i + 1] = is_win_pos[i + K] = is_win_pos[i + L] = True

    print(''.join('A' if is_win_pos[x] else 'B' for x in N))


if __name__ == '__main__':
    main()