[Python] BOJ 1890 - 점프(Jump the Board!)
728x90
반응형
https://www.acmicpc.net/problem/1890
# DP문제이다.
1. 우선 게임판 m을 입력받고 dp테이블도 m과 같은 크기로 선언해준다.
2. (0,0)부터 한 칸씩 이동하며 m[i][j]가 0이면 continue하고, 아니면 점프를 뛸 수 있는지 판단한다. (11, 13줄)
3. 점프를 뛸 수 있으면, 점프를 뛴 곳의 dp값의 현재 좌표의 dp값을 더해준다.
4. 맨 오른쪽 아래인 dp[-1][-1]을 출력한다.
import sys
input = sys.stdin.readline
N = int(input())
m = [list(map(int,input().split())) for _ in range(N)]
dp = [[0] * N for _ in range(N)]
dp[0][0] = 1
for i in range(N):
for j in range(N):
if m[i][j] == 0:
continue
if 0 <= j + m[i][j] < N:
dp[i][j + m[i][j]] += dp[i][j]
if 0 <= i + m[i][j] < N:
dp[i + m[i][j]][j] += dp[i][j]
print(dp[-1][-1])
(solved.ac 티어: 실버 2)
728x90
반응형
'문제풀이 > BaekjoonOnlineJudge' 카테고리의 다른 글
[Python] BOJ 17069 - 파이프 옮기기 2 (0) | 2021.06.12 |
---|---|
[Python] BOJ 2225 - 합분해 (0) | 2021.06.11 |
[Python] BOJ 2002 - 추월(TUNNEL) (0) | 2021.06.09 |
[Python] BOJ 16120 - PPAP (0) | 2021.06.09 |
[Python] BOJ 2346 - 풍선 터뜨리기 (0) | 2021.06.08 |
TAGS.