본문 바로가기
Develop/알고리즘

[백준/Python] Silver III #9657 돌 게임 3

by favorcat 2023. 5. 27.
반응형
 

9657번: 돌 게임 3

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

www.acmicpc.net

문제

돌 게임은 두 명이서 즐기는 재밌는 게임이다.

탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개, 3개 또는 4개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.

두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)

출력

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

풀이

n = int(input())
dp = [0] * 1001
dp[1] = 1
dp[3] = 1
dp[4] = 1

if n >= 5:
  for i in range(5, n+1):
    if dp[i-1] == 0 or dp[i-3] == 0 or dp[i-4] == 0: dp[i] = 1

if dp[n] == 1: print("SK")
else: print("CY")

 

반응형

Comment