본문 바로가기
백준 알고리즘

파이썬) 백준 알고리즘 | 20004번 : 베스킨라빈스 31

by 코딩새내기_ 2022. 7. 1.

https://www.acmicpc.net/problem/20004

 

20004번: 베스킨라빈스 31

베스킨라빈스 게임은 1부터 31까지의 수를 순차적으로 한번에 1개 이상, 3개 이하 연달아 부를 수 있으며, 마지막 31을 부른 사람이 지는 게임이다. 시온이와 민우는 베스킨라빈스 게임을 하기로

www.acmicpc.net

 

풀이

부를 수 있는 숫자가 2인 경우에서 31이 아니라 지정한 수라고 생각하면 필승하는 사람은

1 -> 후공

2 -> 선공

3 -> 선공

4 -> 후공

이런식으로 전개가 된다.

부를 수 있는 숫자가 n일 경우에는

1 -> 후공

... 2~ n+1 -> 선공

n+2 -> 후공

... 이런식으로 전개가 된다.

31 에서 내가 선일 경우 31-n 중에 후공이 필승하는 전략을 쓰면 이기게 된다.

 

n = int(input())
ans = []
for i in range(1,n+1):
    if 31 % (i+1) == 1:
        ans.append(i)
for a in ans:
    print(a)

 

댓글