ps:problems:boj:12107
목차
약수 지우기 게임 1
| ps | |
|---|---|
| 링크 | acmicpc.net/… |
| 출처 | BOJ |
| 문제 번호 | 12107 |
| 문제명 | 약수 지우기 게임 1 |
| 레벨 | 골드 3 |
| 분류 |
게임 이론 |
| 시간복잡도 | O(1) |
| 사용한 언어 | Python 3.11 |
| 제출기록 | 31388KB / 40ms |
| 최고기록 | 36ms |
| 해결날짜 | 2023/06/12 |
풀이
- 2~N의 카드를 갖고 시작하는 게임이 있다고 하자 (이름은 2~N게임이라고 부르자), 이 게임은 실질적으로 선공이 2~N게임을 선공과 후공중에서 골라서 플레이할수 있는 선택권이 주어지는 게임이다. 2~N게임에서 선공에게 필승법이 있으면 선공을 택하고 후공에게 필승법이 있다면 후공을 택하면 되므로, 결과적으로는 항상 선공이 승리할수 있다. (N=1일때만 예외이다)
- 좀더 자세한 설명은 선턴 플레이어가 실질적으로 선후공을 고를 수 있는 경우 참고.
코드
"""Solution code for "BOJ 12107. 약수 지우기 게임 1".
- Problem link: https://www.acmicpc.net/problem/12107
- Solution link: http://www.teferi.net/ps/problems/boj/12107
Tags: [game theory]
"""
def main():
N = input()
print('A' if N != '1' else 'B')
if __name__ == '__main__':
main()
ps/problems/boj/12107.txt · 마지막으로 수정됨: 2023/06/12 07:27 저자 teferi

토론