9655-s5 성공

This commit is contained in:
2026-01-23 13:48:56 +09:00
parent 956e00feb1
commit 4eb1c87b5e

27
workbook_8708/9655-s5.py Normal file
View File

@@ -0,0 +1,27 @@
# 돌 게임
import sys
input = sys.stdin.readline
def solution():
n = int(input().rstrip())
print("SK") if n%2 == 1 else print("CY")
return
solution()
"""
걸린 시간: 25분(dp로도 풀 수 있을 것 같아서 고민하다가..)
시간 복잡도: 그냥 % 계산 한번이니까 O(1)이다.
해설: 마지막에 무조건 창영이가 가져가기 때문에 상근이가 이기려면 돌을 남겨두면 안된다.
완벽하게 게임을 한다는 이야기는 서로 이기기 위해 최선을 다한 수만 생각한다.
k번째에 경기가 끝난다고 할 때, 상근이가 이기려면 k-1번째에 경기가 끝났을 때 1, 3개 중에 남아야 하고, 0, 2개가 남으면 창영이가 이긴다.
한 경기가 끝나면 2 or 4 or 6개의 돌이 없어지므로, 무조건 짝수개씩 사라지기 때문에 n이 짝수면 홀수개 즉, 1,3개가 절대 남을 수 없다.
반대도 마찬가지이므로 n이 짝수면 창영이의 승리, n이 홀수면 상근이의 승리이다.
"""