Lewis's Tech Keep
[백준] 점프 본문
참고: www.acmicpc.net/problem/1890
1890번: 점프
첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장
www.acmicpc.net
- 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