๐ป Coding Problems Solving/Dynamic Programming
[BOJ 1890] ์ ํ (java)
Kim_dev
2023. 4. 20. 01:37
1. ๋ฌธ์ : https://www.acmicpc.net/problem/1890
2. ํ์ด
dfs๋ณด๋ค ๋ฐ๋ณต๋ฌธ๋๋ฉฐ ๋ฉ๋ชจ์ด์ ์ด์ ํด์ฃผ๋๊ฒ ๋น ๋ฆ
3. ์ฝ๋
import java.util.Scanner;
public class ์ ํ {
static int n;
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
n = s.nextInt();
int list[][] = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
list[i][j] = s.nextInt();
}
}
long dp[][] = new long[n][n];
dp[0][0] = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
int next = list[i][j];
if (next == 0) break;
if (j + next < n) dp[i][j + next] += dp[i][j];
if (i + next < n) dp[i + next][j] += dp[i][j];
}
}
System.out.println(dp[n-1][n-1]);
}
}