Lewis's Tech Keep

[백준] 고층 빌딩 본문

JAVA/알고리즘

[백준] 고층 빌딩

Lewis Seo 2021. 4. 13. 20:45

참고 : www.acmicpc.net/problem/1328

 

1328번: 고층 빌딩

상근이가 살고있는 동네에는 빌딩 N개가 한 줄로 세워져 있다. 모든 빌딩의 높이는 1보다 크거나 같고, N보다 작거나 같으며, 같은 높이를 가지는 빌딩은 없다. 상근이는 학교 가는 길에 가장 왼

www.acmicpc.net

 

 

- dp 문제

- 풀이를 보고 풀었다. 아이디어를 찾기가 힘들었다.

- dp[N][L][R] : dp[N-1][L][R] * (N-2) + dp[N-1][L-1][R] + dp[N-1][L][R-1];

 

더보기
import java.util.*;

public class Solution {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int L = sc.nextInt();
        int R = sc.nextInt();
        long[][][] dp = new long[101][101][101];

        dp[1][1][1] = 1;

        for (int i = 2; i <= N; i++) {
            for (int j = 1; j <= L; j++) {
                for (int k = 1; k <= R; k++) {
                    dp[i][j][k] = (i-2) * dp[i-1][j][k] % 1000000007 +
                                    dp[i-1][j-1][k] % 1000000007 +
                                    dp[i-1][j][k-1] % 1000000007;
                    dp[i][j][k] %= 1000000007;
                }
            }
        }

        System.out.println(dp[N][L][R] % 1000000007);
    }
}

'JAVA > 알고리즘' 카테고리의 다른 글

[프로그래머스] 풍선 터트리기  (0) 2021.04.15
[백준] 외판원 순회  (0) 2021.04.15
[백준] 극장 좌석  (0) 2021.04.12
[프로그래머스] 길찾기 게임  (0) 2021.04.12
[백준] 줄세우기(2631)  (0) 2021.04.08
Comments