문제
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)
출력
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
시작은 상근이가 1개 또는 3개만 가져갈 수 있다. 상근이가 이기는 경우의 수는 이는 점화식으로 풀 수 있음
- 1개 혹은 3개만 가져갈 수 있으므로 상대방의 선택지는 n-1 혹은 n-3이 될 것이다.
- 따라서 자신이 가져갈 수 있는 다음 경우의 수는 n-2, n-4, n-6 총 3가지가 될 것이다.
- 이렇게 쭉 내려가다 보면 결국 SK는 n이 홀 수 일 때 이길 수 있고, 짝수 일 때는 방법이 없이 CY가 우승을 차지하게 된다.
- 즉 짝수 이면 N % 2 = 0, 홀 수 이면 N % 2 = 1
N =int(input())
print("CY" if N % 2 == 0 else "SK")
'CoTe > Before CoTe' 카테고리의 다른 글
올림픽[8979] (0) | 2023.04.11 |
---|---|
줄세우기[10431] (0) | 2023.04.10 |
집합(11723) (0) | 2023.04.09 |
단어 공부(1157) (0) | 2023.03.27 |
삼각형과 세 변(5073) (0) | 2023.03.15 |