출처 : www.acmicpc.net/problem/9655
* 이 포스팅은 Baekjoon online judge 9655번 "돌 게임" 문제풀이입니다.
문제 원본은 링크를 클릭하시면 확인하실 수 있습니다.
# 문제 설명
-
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
-
탁자 위에 돌 N개가 있다.
-
상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다.
-
마지막 돌을 가져가는 사람이 게임을 이기게 된다.
-
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오.
-
게임은 상근이가 먼저 시작한다.
# 입력
-
첫째 줄에 N이 주어진다. $(1<=N<=1000)
# 출력
-
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
입출력 예
입력 | 출력 |
5 | SK |
# 설명
-
상근이부터 게임을 시작하므로 상근이는 처음에 1개 또는 3개를 가져갈 수 있다.
-
2번째 차례인 창영이 역시 1개 또는 3개를 가져갈 수 있으므로 상근이의 2번째 턴에서는 다음과 같은 4가지 경우의 수가 존재한다.
-
상근(1) - 창영(1) : N-2개
-
상근(1) - 창영(3) : N-4개
-
상근(3) - 창영(1) : N-4개
-
상근(3) - 창영(3) : N-6개
-
-
즉, 게임이 진행되는 동안 계속 N개에서 짝수개가 줄어든다.
-
N이 짝수일 경우 짝수개가 줄어드고 난 뒤 상근이가 마지막 남은 1개를 가져갈 수 있으므로 상근이가 이기게 된다.
-
N이 홀수일 경우 상근이는 마지막 남은 1개를 가져갈 수 없으므로 창영이가 이기게 된다.
-
이를 파이썬 코드로 구현하면 다음과 같다.
1
2
3
4
5
|
N = int(input())
if N % 2 == 0:
print("CY")
else:
print("SK")
|
cs |
'Python > 백준' 카테고리의 다른 글
[Python/백준/10870번] 피보나치 수 5 (0) | 2020.10.02 |
---|---|
[Python/백준/9095번] 1, 2, 3 더하기 (0) | 2020.10.02 |
[Python/백준/11098번] 첼시를 도와줘! (0) | 2020.09.30 |
[Python/백준/1159] 농구 경기 (0) | 2020.09.30 |
[Python/백준/11365] !밀비 급일 (0) | 2020.09.30 |