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