https://www.acmicpc.net/problem/1003
dp를 이용한 기초적인 문제입니다.
피보나치 함수 f(0), f(1) 의 호출횟수가 서로 영향을 주지 않는다는 규칙을 이용하면 쉽게 풀수있습니다.
각각의 함수 호출횟수를 따로 관리하여 저장하면 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import sys dp0 = list() dp0.append(1) dp0.append(0) dp1 = list() dp1.append(0) dp1.append(1) for i in range(40): dp0.append(dp0[i] + dp0[i+1]) dp1.append(dp1[i] + dp1[i + 1]) T = int(sys.stdin.readline().rstrip()) for _ in range(T): n = int(sys.stdin.readline().rstrip()) print(dp0[n],dp1[n]) | cs |
'Study > 알고리즘' 카테고리의 다른 글
[BOJ]15954 인형들 - python (0) | 2019.03.13 |
---|---|
[BOJ]15953 상금 헌터 - python (0) | 2019.03.13 |
[BOJ]7576 토마토 - python (0) | 2019.03.13 |
[BOJ]2504 괄호의 값 - python (0) | 2019.03.12 |
[BOJ]9012 괄호 - python (0) | 2019.03.11 |