https://www.acmicpc.net/problem/14494
다이나나믹 프로그래밍으로 풀기 위해 점화식은 세웠는데, 초기값을 잘못 설정해서 답이 0이 나왔었다,,, 구글링을 통해 다른 사람들이 문제 푼 것을 참고하여 해결했다.
# 11494 : 다이나믹이 뭐예요?
import sys
input = sys.stdin.readline
n, m = map(int, input().rstrip().split())
# dp 테이블 초기화
d = [[0] * (m + 1) for _ in range(n + 1)]
d[0][0] = 1
for i in range(1, n + 1):
for j in range(1, m + 1):
# d[i - 1][j] : ↓
# d[i][j - 1] : →
# d[i - 1][j - 1] : ↘
d[i][j] = (d[i - 1][j] + d[i][j - 1] + d[i - 1][j - 1]) % 1000000007
print(d[n][m])
Uploaded by Notion2Tistory v1.1.0