alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 10164 격자상의 경로_파이썬 본문
DP
10164 격자상의 경로 www.acmicpc.net/problem/10164
문제 풀기 전 공부할 것 : 수학, 다이나믹 프로그래밍
풀이
<내용>
- 구체적인 단계 풀이가 필요하신 분이 계시다면 댓글 부탁드립니다.
<코드>
n, m, o = map(int, input().split())
dp = [[0 for _ in range(m)] for _ in range(n)]
if o == 0:
for i in range(n):
for j in range(m):
if i == 0:
dp[i][j] = 1
elif j == 0:
dp[i][j] = 1
else:
dp[i][j] = dp[i-1][j] + dp[i][j-1]
print(dp[n-1][m-1])
else:
x, y = (o-1)//m, (o-1)%m
for i in range(x+1):
for j in range(y+1):
if i == 0:
dp[i][j] = 1
elif j == 0:
dp[i][j] = 1
else:
dp[i][j] = dp[i-1][j] + dp[i][j-1]
for i in range(x, n):
for j in range(y, m):
if i == x and j == y:
continue
elif i == x:
dp[i][j] = 1
elif j == y:
dp[i][j] = 1
else:
dp[i][j] = dp[i-1][j] + dp[i][j-1]
print(dp[x][y] * dp[n-1][m-1])
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 1051 숫자 정사각형_파이썬 (0) | 2021.04.02 |
---|---|
[알고리즘][Python] 백준(BOJ) 10448 유레카 이론_파이썬 (0) | 2021.04.01 |
[알고리즘][Python] 백준(BOJ) 1013 Contact_파이썬 (0) | 2021.03.30 |
[알고리즘][Python] 백준(BOJ) 1010 다리 놓기_파이썬 (0) | 2021.03.20 |
[알고리즘][Python] 백준(BOJ) 10844 쉬운 계단 수_파이썬 (0) | 2021.01.13 |
Comments