[PS] BOJ 9655 돌 게임

Speedwell🍀·2023년 5월 18일
0

PS

목록 보기
7/16

돌을 많이 가져간 사람이 이기는 게 아니라, 마지막으로 돌을 가져간 사람이 이기기 때문에 돌을 얼마나 가져가는지는 중요하지 않다.

가져갈 수 있는 돌의 개수가 홀수(1 or 3)이기 때문에, N이 홀수인지 짝수인지에 따라 마지막으로 가져가는 사람이 정해진다.

  • 예를 들어 N=3이면 상근(1) -> 창영(1) -> 상근(1) or 상근(3)로 상근이 이긴다.
  • 예를 들어 N=4이면 상근(1) -> 창영(1) -> 상근(1) -> 창영(1) or 상근(3) -> 창영(1)로 창영이 이긴다.

따라서 상근부터 돌을 가져간다면 N이 홀수일때 상근이 이기고, N이 짝수일때 창영이 이긴다.

n = int(input())

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

원래 다이나믹 프로그래밍 문제인데 다르게 풀어서 추후 다이나믹으로 다시 풀어봐야지...!


(추가)
돌아왔다! DP르 다시 풀어보자!

위에서 든 예제를 살펴보면

0개의 댓글