먼저 제한사항이 14까지 밖에 안되니까, 2차원 배열은 만든다.
가장 밑에는 i로 초기화를 한다.
원하는 층수의 호수를 기준으로 왼쪽과 아래쪽의 합이 값과 동일하니까, 미리 2차원 배열은 전부 만든다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
int[][] apt = new int[15][15];
StringBuilder sb = new StringBuilder();
// 0층 먼저 초기화 하기
for (int i = 1; i <= 14; i++) apt[0][i] = i;
// 각 층, 호수에 사는 사람들 전부 집어 넣기
for (int i = 1; i <= 14; i++) {
for (int j = 1; j <= 14; j++)
apt[i][j] = apt[i - 1][j] + apt[i][j - 1];
}
for (int i = 0; i < T; i++) {
int k = Integer.parseInt(br.readLine());
int n = Integer.parseInt(br.readLine());
sb.append(apt[k][n] + "\n");
}
System.out.println(sb);
}
}