문제
알고리즘
- 반복문을 통해 조건에 맞는 모든 경우를 탐색한다.
- 할머니가 호랑이를 처음 만난 날에 준 떡의 개수 A, 그 다음 날에 호랑이에게 준 떡의 개수 B => 1≤A≤B이다.
- d일까지 할머니가 떡을 주는 경우를 탐색하고 d 일어날 호랑이에게 준 떡이 k 개라면 A와 B를 출력하고 종료한다.
코드
import sys
d, k = map(int, sys.stdin.readline().split())
# 반복문을 통해 조건에 맞는 모든 경우를 탐색한다.(1≤A≤B)
for i in range(1, 100000):
for j in range(1, 100000):
dp = [0] * (d + 1)
dp[1] = i
dp[2] = j
# d일까지 할머니가 떡을 주는 경우를 탐색
for l in range(3, d + 1):
dp[l] = dp[l - 1] + dp[l - 2]
# 마지막 날에 할머니가 떡을 준 개수가 k개라면
# 첫 번째날과 두 번째 날에 떡을 준 개수를 출력하고 종료한다.
if dp[-1] == k:
print(dp[1])
print(dp[2])
exit()
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1024번(파이썬): 수열의 합 (0) | 2022.02.08 |
---|---|
[baekjoon] 백준 1660번(파이썬): 캡틴 이다솜 (0) | 2022.02.07 |
[baekjoon] 백준 2410번(파이썬): 2의 멱수의 합 (0) | 2022.02.03 |
[baekjoon] 백준 2302번(파이썬): 극장 좌석 (0) | 2022.02.02 |
[baekjoon] 백준 2294번(파이썬): 동전 2 (0) | 2022.02.01 |