Lewis's Tech Keep
[백준] 점프 본문
참고: www.acmicpc.net/problem/1890
- dp 문제
- dp[i][j] = i, j 칸에서 가능한 루트 갯수
더보기
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[][] maps = new int[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
maps[i][j] = sc.nextInt();
}
}
sc.close(); // 값이 커질 수 있으므로 long 형으로 초기화
long[][] dp = new long[N][N];
dp[0][0] = 1;
for (int x = 0; x < N; x++) {
for (int y = 0; y < N; y++) {
int move = maps[x][y];
if (dp[x][y] == 0 || move == 0) continue;
if (x + move < N) {
dp[x + move][y] += dp[x][y];
}
if (y + move < N) {
dp[x][y + move] += dp[x][y];
}
}
}
System.out.println(dp[N - 1][N - 1]);
}
}
'JAVA > 알고리즘' 카테고리의 다른 글
[백준] 합분해 (0) | 2021.03.31 |
---|---|
[백준] 합분해 - 실패 (0) | 2021.03.31 |
[백준] 점프 - 실패 (0) | 2021.03.30 |
[백준] 내리막 길 (0) | 2021.03.30 |
[백준] 파티 (0) | 2021.03.28 |
Comments