알고리즘/백준

백준 2775 부녀회장이 될거야 자바

reumiii 2019. 11. 20. 17:32

k층 n호의 사람수는 (k층 n-1호 사람수) + (k-1층 n호 사람수) 이다.

import java.util.*;
public class Main{
	static int num[][];
    public static void main(String[] args){
    	Scanner sc = new Scanner(System.in);
    	int t = sc.nextInt();//테스트 케이스
    	
    	for(int i=0; i<t; i++) {
    		int k = sc.nextInt(); //층
    		int n = sc.nextInt(); //호
    		
    		num = new int[k+1][n+1]; //k층 n호에 사는 사람수
    		
    		for(int j=1; j<=n; j++) { //0층 j호에는 j명이 살고있다.
    			num[0][j] = j;
    		}
    		
    		for(int a=1; a<=k; a++) {//층만큼 반복(1층부터 계산 시작)
    			num[a][1] = 1; //몇 층이든 1호는 다 한명만 산다.
    			for(int b=2; b<=n; b++) {//호만큼 반복(2호부터 계산 시작)
    				num[a][b] = num[a][b-1] + num[a-1][b];
    			}
    		}
    		
    		System.out.println(num[k][n]);//결과 출력
    	}
    }
}