(백준) 15489 Pascal Triangle – Dynamic Programming / Java

문제 연결

해결 과정

꼭짓점이 r, c이고 한 변의 길이가 w인 정삼각형을 포함하는 영역까지 파스칼의 삼각형을 찾으십시오.

2차원 배열의 단계 형식을 취합니다.

각 좌표의 값은 왼쪽 상단 값과 상단 값의 합입니다.

된다

그 후 작업에 주어진 정삼각형 영역의 모든 값의 합이 제공됩니다.

코드를 풀다

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Main {

    public static void main(String() args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int r = Integer.parseInt(st.nextToken());
        int c = Integer.parseInt(st.nextToken());
        int w = Integer.parseInt(st.nextToken());

        int()() dp = new int(r + w + 1)(r + w + 1);

        dp(1)(1) = 1;
        for (int i = 2; i < dp.length; i++) {
            for (int j = 1; j < i; j++)
                dp(i)(j) = dp(i - 1)(j - 1) + dp(i - 1)(j);
        }

        int sum = 0;
        for (int i = 0; i <= w; i++) {
            for (int j = 0; j < i; j++)
                sum += dp(r + i)(c + j);
        }

        bw.write(String.valueOf(sum));
        bw.flush();
    }

}