https://www.acmicpc.net/problem/20004
풀이
부를 수 있는 숫자가 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)
'백준 알고리즘' 카테고리의 다른 글
파이썬) 백준 알고리즘 | 13975번 : 파일 합치기 3 (0) | 2022.07.01 |
---|---|
파이썬) 백준 알고리즘 | 15903번 : 카드 합체 놀이 (0) | 2022.07.01 |
파이썬) 백준 알고리즘 | 9661번 : 돌 게임 7 (0) | 2022.06.30 |
파이썬) 백준 알고리즘 | 9660번 : 돌 게임 6 (0) | 2022.06.30 |
파이썬) 백준 알고리즘 | 1699번 : 제곱수의 합 (0) | 2022.06.30 |
댓글