입력 코드
#include <stdio.h>
main() {
int T, k, n, i, j;
int d[15][15] = { 0, };
for (i = 1; i < 15; i++) {
d[0][i] = i;
}
for (i = 1; i < 15; i++) {
for (j = 1; j < 15; j++) {
d[i][j] = d[i - 1][j] + d[i][j - 1];
}
}
scanf("%d", &T);
for(i=0;i<T;i++) {
scanf("%d %d", &k, &n);
printf("%d\n", d[k][n]);
}
}
코드 설명
#수학 #2차원배열 #배열초기화
#include <stdio.h>
main() {
int T, k, n, i;
scanf("%d", &T);
for (i = 0; i < T; i++) {
scanf("%d", &k);
scanf("%d", &n);
}
int a, b, num;
for (a = 0; a < k; a++) {
for (b = 0; b < n; b++) {
num += b;
}
num += a;
}
printf("%d\n", num);
}
처음에는 반복문으로 b호까지 더하고 a층까지 더해보려고 했으나 그 방법이 아닌 듯했다.
#include <stdio.h>
main() {
int T, k, n, i, j;
int d[15][15] = { 0, };
for (i = 1; i < 15; i++) {
d[0][i] = i;
}
for (i = 1; i < 15; i++) {
for (j = 1; j < 15; j++) {
d[i][j] = d[i - 1][j] + d[i][j - 1];
}
}
scanf("%d", &T);
for(i=0;i<T;i++) {
scanf("%d %d", &k, &n);
printf("%d\n", d[k][n]);
}
}
이차원 배열을 이용해서 d[i][j] = d[i-1][j]+d[i][j-1] 점화식을 찾아내는 게 포인트였던 것 같다.
↓↓↓ 참고한 사이트
2차원 배열
dojang.io/mod/page/view.php?id=307
문제 출처
'C' 카테고리의 다른 글
#40. [백준_C언어] 10757 : 큰 수 A+B (1) | 2021.01.20 |
---|---|
#39. [백준_C언어] 2839 : 설탕 배달 (0) | 2021.01.20 |
#37. [백준_C언어] 2869 : 달팽이는 올라가고 싶다 (0) | 2021.01.19 |
#36. [백준_C언어] 1193 : 분수찾기 (0) | 2021.01.18 |
#35. [백준_C언어] 2292 : 벌집 (0) | 2021.01.18 |