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번째날 떡 개수를 구하기 위해 첫째날 떡, 둘째날 떡을 각각 몇번 더해야하는지 리스트에 구한다
- 첫째, 둘째 날 떡을 하나하나 넣어보면서 브루트 포스를 수행한다