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]);
    }
}