BOJ : https://www.acmicpc.net/problem/1010

 

1010번: 다리 놓기

입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다.

www.acmicpc.net

 

왼쪽과 오른쪽에 다리가 있을 수 있는 경우를 몆가지 작은수로 직접 구해보자

그럼 2차원배열에 대한 dp점화식을 발견할 수 있게 된다

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <cstdio>
#pragma warning(disable:4996)
int dp[30][30];
int N, M;
int main() {
 
    dp[1][1= 1;
    for (int i = 1; i < 30; i++) dp[1][i] = i;
    for (int i = 2; i < 30; i++) {
        for (int k = 1; k < 30; k++) {
            if (i > k)dp[i][k] = 0;
            else dp[i][k] = dp[i - 1][k - 1+ dp[i][k - 1];
        }
    }
 
    int T;
    scanf("%d"&T);
    while (T--) {
        scanf("%d%d"&N, &M);
        printf("%d\n", dp[N][M]);
    }
    
    
    return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

'algorithm > BOJ' 카테고리의 다른 글

BOJ 9095번 1, 2, 3 더하기  (0) 2020.02.08
BOJ 15486번 퇴사 2  (0) 2020.02.08
BOJ 2163번 초콜릿 자르기  (0) 2020.02.08
BOJ 1062번 가르침  (0) 2020.02.05
BOJ 1072번 게임  (0) 2020.02.05

+ Recent posts