728x90
※ SW expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
728x90
내 생각
문제를 이해할 때 헷갈릴 수도 있는데
통나무의 길이가 50일 때, Alice가 먼저 30을 잘라낸다면 남는 통나무의 길이가 20이 되고 Bob이 이 20 중에서 자르는 것이 아니다.
Alice가 30을 잘라내면 Bob은 30이나 20 중에서 한 조각을 두 조각으로 자를 수 있는 것이다.
만약 Bob이 30을 또 25 5로 잘랐다면, 다음으로 Alice가 자를 수 있는 조각들은 25, 20, 5 이렇게 세 조각이 되는 것이다.
모든 조각들의 길이가 1이 될 때까지 자를 수 있고, 모든 조각이 1이면 다음으로 자를 차례인 사람이 지는 것이다. (더 이상 자를 수 없으므로)
조각의 길이가 5이면 총 4번 자를 수 있고 Bob이 이기게 된다.
조각의 길이가 10이라면 총 9번 자를 수 있고 Alice가 이기게 된다.
따라서 처음 주어진 통나무의 길이가 짝수라면 Alice가 이기게 되고, 홀수라면 Bob이 이기게 된다.
# test case tc
tc = int(input())
for test_case in range(1, tc + 1):
# 통나무 길이 n
n = int(input())
if n % 2 == 0:
print("#{} Alice".format(test_case))
else:
print("#{} Bob".format(test_case))
728x90
'Problem Solving > SWEA' 카테고리의 다른 글
[SW Expert Academy, SWEA 14413] 격자판 칠하기 (python) (0) | 2022.11.17 |
---|---|
[SW Expert Academy, SWEA 14555] 공과 잡초 (python) (0) | 2022.11.15 |
[SW Expert Academy, SWEA 15230] 알파벳 공부 (python) (0) | 2022.11.09 |
[SW Expert Academy, SWEA 15612] 체스판 위의 룩 배치 (python) (0) | 2022.10.26 |
[SW Expert Academy, SWEA 1204] [S/W 문제해결 기본] 1일차 - 최빈수 구하기 (python) (0) | 2022.09.10 |