bong-u/til

백준 - 2502 : 떡 먹는 호랑이 (S1)

수정일 : 2024-11-15

 1D, K = map(int, input().split())
 2L = [(1, 0), (0, 1)]
 3
 4for i in range(2, D):
 5    L.append((L[i-2][0]+L[i-1][0], L[i-2][1]+L[i-1][1]))
 6
 7A = 1
 8B = 2
 9
10while True:
11    if A*L[D-1][0] + B*L[D-1][1] == K:
12        break
13
14    if A+1 == B:
15        B += 1
16        A = 1
17    else:
18        A += 1
19
20print (A,'\n',B, sep='')

해결방법

  • N번째날 떡 개수를 구하기 위해 첫째날 떡, 둘째날 떡을 각각 몇번 더해야하는지 리스트에 구한다
  • 첫째, 둘째 날 떡을 하나하나 넣어보면서 브루트 포스를 수행한다