JuSeok

2775번

문제

  • a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다는 계약 조항이 있을 때, k층의 n호에는 몇 명이 살고 있는지 구하는 문제
문제 해결 순서
  1. k와 n이 최대 14까지이기 때문에 15x15 배열을 하나 만들어 준다
  2. 반복문을 돌면서 각 층의 1호는 모두 1명으로, 1층의 호는 i로 초기화 한다
  3. k층의 n호는 k-1층의 n호의 사람k층의 n-1호의 사람을 더한 값
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    int[][] apt = new int[15][15];
    
    for(int i = 0; i < 15; i++){
      apt[i][1] = 1;
      apt[0][i] = i;
    }

    for(int i = 1; i < 15; i++){
      for(int j = 2; j < 15; j++){
        apt[i][j] = apt[i][j-1] + apt[i-1][j];
      }
    }
    
    int t = scan.nextInt();
    
    for(int i = 0; i < t; i++){
      int x = scan.nextInt();
      int y = scan.nextInt();
      System.out.print(apt[x][y] + "\n");
    }
  }
}

Tags