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 |