PS/백준
[BOJ] 백준 9656번 : 돌 게임 2 (JAVA)
문제
돌 게임은 두 명이서 즐기는 재밌는 게임이다.
탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 지게 된다.
두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.
입력
첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)
출력
상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.
풀이
간단한 게임 이론 문제였습니다.
특히, "9655번 돌 게임" 문제와 상당히 유사한 문제였습니다. 9655번은 마지막에 돌을 가져가는 사람이 승리하는 조건이었지만, 이번에는 마지막에 돌을 가져가는 사람이 패배하는 조건으로 바뀌었습니다.
따라서, 9655번에서 승리와 패배를 결정지었던 기준을 반대로 바꾸면 됩니다.
N이 짝수일 때는 상근, N이 홀수일 때는 창녕이가 이기는 로직으로 변경하는 것이죠.
아래 소스코드를 참고하시길 바랍니다.
소스코드
지적 혹은 조언 환영합니다! 언제든지 댓글로 남겨주세요.
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 9658번 : 돌 게임 4 (JAVA) (0) | 2020.09.05 |
---|---|
[BOJ] 백준 9657번 : 돌 게임 3 (JAVA) (3) | 2020.09.05 |
[BOJ] 백준 9655번 : 돌 게임 (JAVA) (0) | 2020.09.04 |
[BOJ] 백준 18937번 : 왕들의 외나무다리 돌게임 (JAVA) (0) | 2020.09.03 |
[BOJ] 백준 16897번 : 아인타 게임 (JAVA) (0) | 2020.09.03 |
댓글