https://www.acmicpc.net/problem/2775
2775번: 부녀회장이 될테야
첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다
www.acmicpc.net
해석 및 팁
이 문제는 이중배열을통해 아파트를 생성한 후에 해결하면 편하다. 먼저 아파트에는 0층이 존재하고 0층의 i호에는 i 만큼의 인원이 산다. 또한 i층 1호에는 1명이 살고있다. a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b까지의 합만큼 살아야 하므로 a층의 b호에 사는 인원은 a-1층의 b호의 인원과 a층의 b-1호의 인원만큼 살면된다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] apart = new int[15][15];
for(int i = 0; i < 15; i++) {
apart[0][i] = i; //0층 i호는 i명이 산다
apart[i][1] = 1; // i층 1호에는 1명이 산다
}
for(int i = 1; i < 15; i++) { // 1층부터 14층까지
for(int j = 2; j < 15; j++) { // 2호부터 14호까지
apart[i][j] = apart[i-1][j] + apart[i][j-1];
}
}
int t = sc.nextInt();
for(int i = 0; i < t; i++) {
int k = sc.nextInt();
int n = sc.nextInt();
System.out.println(apart[k][n]);
}
}
}
'백준' 카테고리의 다른 글
백준 1924 2007년(Java) (0) | 2023.01.14 |
---|---|
백준 2609 최대공약수와 최소공배수(Java) (1) | 2023.01.14 |
백준 1193 분수찾기(Java) (0) | 2023.01.13 |
백준 2869 달팽이는 올라가고 싶다(Java) (0) | 2023.01.13 |
백준 4344 평균은 넘겠지(Java) (0) | 2023.01.13 |