본문 바로가기

카테고리 없음

파이썬) 돌 게임 - BOJ

https://www.acmicpc.net/problem/9655

 

9655번: 돌 게임

상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.

www.acmicpc.net

 

n = int(input())

if n % 2 == 0:
    print("CY")
else:
    print("SK")

사실 n이 4부터 8까지 혹은 그 이전까지만 생각해봐도 답은 금방 나온다

조금 단순하게 생각해보자

n이 4일때 상근이가 한개 또는 세개를 가져면 나머지는 3개 이하므로 상근이가 무조건 패배한다

반면 n이 5일땐 상근이가 하나만 가져가면 상근이가 이긴다. 즉, 먼저 가져가는 사람이 이긴다

n이 6일땐 상근이가 3개를 가져가면 3개가 남아 패배하고, 1개를 가져가면 이 5 이므로 5부터 먼저 가져 갈 창영이가 우승한다

즉 상근이가 우승을 하려면 1개 혹은 3개를 가져가면서 홀수로 만들어야한다.