출처 : 백준, https://www.acmicpc.net/problem/9655
9655번: 돌 게임
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
www.acmicpc.net
사기칠라고 진짜..
더보기
풀이
n = int(input())
if n % 2 == 0:
print('CY')
else:
print('SK')
원리는 간단하다. 돌은 무조건 1개 아니면 3개만 가져갈 수 있다.
만약 돌이 2개가 남아도 2개를 다 취할 수 없다.
즉, 상근이와 창영이가 한 턴을 끝내면 무조건 서로 홀수 개씩 가져가고 끝나게 되므로
한 턴 종료시 돌은 전체에서 짝수 개가 사라진다.
플레이어는 둘 뿐이므로 돌의 개수가 홀수라면 턴이 다 돌고 새 턴에서 돌이 남아 상근이가 우승하고,
짝수라면 마지막 턴의 창영이 차례에서 창영이가 남은 돌을 다 가져가면 되므로 우승하게 된다.
시간 복잡도
-
다른 사람의 풀이를 보면서 알게 된 점
-
고찰
-
'알고리즘 > Python' 카테고리의 다른 글
[python] 백준 9095 - 1, 2, 3 더하기 (0) | 2022.03.22 |
---|---|
[python] 백준 11726 - 2xn 타일링 (0) | 2022.03.21 |
[python] 백준 14719 - 빗물 (0) | 2022.03.19 |
[python] 백준 2504 - 괄호의 값 (0) | 2022.03.19 |
[python] 백준 14888 - 연산자 끼워넣기 (0) | 2022.03.19 |