백준 알고리즘
[JAVA]백준2775 부녀회장이 될테야
방감자
2022. 11. 21. 23:12
문제를 해석하여 배열로 작성해보니
0층은 호수대로 인원 수가 정해져 있고
1호는 거주민 수가 1명이라는 사실을 알았고
아래의 그림과 같이 인원수를 구하려는 칸의 왼쪽 값과 위의 값을 더하면
구하고자 하는 값이 된다는 규칙을 발견했다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Beak2775 { //부녀회장이 될테야
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
for(int t=0;t<T;t++){
int k = Integer.parseInt(br.readLine());
int n = Integer.parseInt(br.readLine());
int apt[][] = new int[k+1][n];
for (int i=0;i<n;i++){
apt[0][i] = i+1;
}
for(int i=0;i<=k;i++){
apt[i][0] = 1;
}
for(int i=1;i<=k;i++){
for(int j=1;j<n;j++){
apt[i][j] = apt[i][j-1]+apt[i-1][j];
}
}
sb.append(apt[k][n-1]).append("\n");
}
System.out.println(sb);
}
}