https://www.acmicpc.net/problem/9655
문제
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다.
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)
출력
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
n = int(input())
if n % 2 == 1:
print("SK")
else:
print("CY")
DP
n = int(input())
dp = [0] * 1001
dp[1] = 1
dp[2] = 2
dp[3] = 1
for i in range(4, n+1):
dp[i] = min(dp[i-3]+1,dp[i-1]+1)
if dp[n] % 2 == 0:
print('CY')
else:
print('SK')
'Coding Test > 백준' 카테고리의 다른 글
[백준] / [Python] / [3474] 교수가 된 현우 (0) | 2024.05.30 |
---|---|
[백준] / [Python] / [1446] 지름길 (0) | 2024.05.30 |
[백준] / [Python] / [2512] 예산 (0) | 2024.05.29 |
[백준] / [Python] / [2644] 촌수계산 (0) | 2024.05.29 |
[백준] / [Python] / [1012] 유기농 배추 (0) | 2024.05.29 |