반응형
https://www.acmicpc.net/problem/2775
[문제]
[풀이]
● 2차 배열 선언하기
● TEST CASE를 입력받고 TEST CASE 수 만큼 K와 N 입력받기
1호 | 2호 | 3호 | 4호 | 5호 | |
3층 | 1 | 5 | 15 | 35 | 70 |
2층 | 1 | 4 | 10 | 20 | 35 |
1층 | 1 | 3 | 6 | 10 | 15 |
0층 | 1 | 2 | 3 | 4 | 5 |
위 표에서
i) 1층 2호의 경우 = 0층 2호 + 1층 1호
ii) 2층 3호의 경우 = 1층 3호 + 2층 2호
House[i][j] = House[i-1][j] + House[i][j-1]
위 식을 알아낼 수 있다.
● 모든 층의 1호는 1명이살고 0층의 i호에는 i명의 사람들이 살기 때문에 반복문을 통해 값을 넣어준다.
● 위 공식을 이용해 모든 2차배열의 값을 구할 수 있다.
● 마지막에 출력할 때 printf("%d",house[k][n-1]);
n-1을 하는 이유는 배열은 0,0부터 시작하기 때문이다. 0호는 없기 때문이다.
반응형
댓글