사용자 도구

사이트 도구


ps:problems:boj:9656

돌 게임 2

ps
링크acmicpc.net/…
출처BOJ
문제 번호9656
문제명돌 게임 2
레벨실버 4
분류

게임 이론

시간복잡도O(1)
사용한 언어Python 3.11
제출기록31256KB / 44ms
최고기록36ms
해결날짜2023/06/12

풀이

  • 돌 게임에서 승리조건이 반대로 된 경우이다. 비슷한 방법으로 규칙성을 찾을수 있다.
  • 내 차례가 왔을때 돌의 갯수가 1개이면 패배한다. 따라서 내 차례가 왔을때 돌이 2개나 4개라면, 1개만 남기고 상대방한테 넘겨줄수 있으므로 이길 수 있다.
  • 돌 게임와 마찬가지로 내 차례에서 돌을 x개로 만들수 있다면, 다음 내차례에는 다시 돌을 x-4개로 만들수 있는 방법이 존재한다. 내 차례에서 돌을 4k+1개로 만들수 있다면 승리할수 있고, 이 말은 내 차례가 왔을때 돌이 4k+2 또는 4k+4개, 즉 짝수개라면 항상 이길 수 있다는 말과 같다

코드

"""Solution code for "BOJ 9656. 돌 게임 2".

- Problem link: https://www.acmicpc.net/problem/9656
- Solution link: http://www.teferi.net/ps/problems/boj/9656
"""


def main():
    N = int(input())
    print('SK' if N % 2 == 0 else 'CY')


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
Q P R᠎ Q G
 
ps/problems/boj/9656.txt · 마지막으로 수정됨: 2023/06/12 07:04 저자 teferi