Coding - Algo/python
[백준] 14494번:다이나믹이 뭐에요? (python 파이썬)
jainn
2021. 3. 16. 15:34
728x90
문제
14494번: 다이나믹이 뭐예요?
(1, 1)에서 (n, m)에 도달하는 경우의 수를 구하여라. 단, 경우의 수가 엄청 커질 수 있으므로 경우의 수를 1,000,000,007(=1e9+7)로 나눈 나머지를 출력한다.
www.acmicpc.net
풀이 및 소스코드
그야말로 dp 그대로 풀었다.
n, m = map(int, input().split())
dp = [[0]*(m+1) for _ in range(n+1)]
dp[1][1] = 1
for y in range(1, n+1):
for x in range(1, m+1):
dx = x+1
dy = y+1
if 0<dx<=m:
dp[y][dx] += dp[y][x]
if 0<dy<=n:
dp[dy][x] += dp[y][x]
if 0<dx<=m and 0<dy<=n:
dp[dy][dx] += dp[y][x]
print(dp[-1][-1]%1000000007)
반응형