https://www.acmicpc.net/problem/9657
상근이부터 시작할 때 돌이 1개, 3개, 4개 있을 때는 무조건 상근이가 승리할 수 있다. 돌이 2개일 때는 상근이는 1개 밖에 가져갈 수 밖에 없기 때문에 창영이가 승리한다. 돌이 5개 이상일 때는 한 번에 게임을 끝낼 수 없기 때문에 상근이가 1개 혹은 3개 혹은 4개를 가져갔을 때 남은 돌의 갯수에 따라 승리하는 사람을 구해보면 된다.
import sys
def main():
n = int(sys.stdin.readline())
game = ["SK","CY","SK","SK"]
if n>4:
for i in range(4,n):
if game[i-1] == "CY" or game[i-3] == "CY" or game[i-4] == "CY":
game.append("SK")
else:
game.append("CY")
print(game[n-1])
if __name__ == "__main__":
main()
'Koala - 10기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/python] 11055 가장 긴 증가하는 수열 (0) | 2023.03.19 |
---|---|
[Baekjoon/Python] 11048 이동하기 (0) | 2023.03.18 |
[백준/C++] 9251 : LCS (1) | 2023.03.17 |
[백준/C++] 11726번 2xn 타일링 (0) | 2023.03.17 |
[백준/Python] 16395 : 파스칼의 삼각형 (1) | 2023.03.16 |