본문 바로가기
백준알고리즘/기본 수학1

(Python/🥈5)백준리즘알고리즘 9655번: 돌 게임

by windy7271 2023. 10. 3.
728x90
반응형

 

문제 바로가기 

돌게임

문제:

돌 게임은 두 명이서 즐기는 재밌는 게임이다. 탁자 위에 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며, 돌은 1개 또는 3개 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이기게 된다. 두 사람이 완벽하게 게임을 했을 때, 이기는 사람을 구하는 프로그램을 작성하시오. 게임은 상근이가 먼저 시작한다.

입력:

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000)

출력:

상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다.

 

풀이:

 

첫 시도: 실패

import sys,time

sys.stdin = open('/Users/song/Desktop/Python/Python/h.txt', 'r')

n = int(input())

print("SK" if n%4 else "CY")

 

성공 풀이:

import sys
sys.stdin = open('/Users/song/Desktop/Python/Python/h.txt', 'r')
n = int(input())
print("SK" if n%2 else "CY")

 

두 사람이 가져갈 수 있는 방법은  1개가져가는방법과 3개 가져가는 방법이다. 경우의수를 조금 따져보면

1개 1개 가져간 경우 >> 2

1개 3개 가져간경우 >> 4

3개 1개 가져간경우 >> 4

3개 3개 가져간경우 >> 6

창영이가 이길경우는 잘 보면 2로 나누어 떨어진다. 그럼 반대로 SK가 이길 확률

2개 1개 >> 3

4개 1개 >> 5 

4개 3개 >> 7

2개 3개 >> 5 

이런식으로 홀수가 나온다.

 

반응형

댓글