https://www.acmicpc.net/problem/2775
조건에 맞게 사람수를 세는 문제.
h(0 <= h <= 14)층 w(1 <= w <= 14)호에 사는 세대의 구성원 수는 h-1층의 1호부터 w호까지의 구성원 수의 합만큼 데리고 살아야 한다. (대체 왜?)
이 아파트는 0층부터 존재하며 0층의 w호에는 w명만큼 살고 있다.
어떻게 풀어야 할지 고민하다가, 다차원 배열이 떠올랐다.
#include <stdio.h>
int main() {
int h, w; // 층수, 호수
int T; // 테스트 케이스
int arr[15][15];
for (int i = 0; i < 15; i++) { // 0층, 0호, 1호 설정
arr[0][i] = i;
arr[i][0] = 0; // 0호는 존재하지 않으니 0으로 초기화
}
for (int i = 1; i < 15; i++) { // i층
for (int j = 1; j < 15; j++) { // j호
arr[i][j] = arr[i][j - 1] + arr[i - 1][j];
}
}
scanf("%d", &T);
while (T--) {
scanf("%d %d", &h, &w);
printf("%d\n", arr[h][w]);
}
return 0;
}
'coding_test > BAEKJOON' 카테고리의 다른 글
백준 1193번 C언어 풀이 (0) | 2021.09.09 |
---|---|
백준 4948번 C언어 풀이 (0) | 2021.09.09 |
백준 15829번 C언어 풀이 (0) | 2021.08.27 |
백준 11050번 C언어 풀이 (0) | 2021.08.27 |
백준 1920번 C언어 풀이(미완) (0) | 2021.08.26 |