응애개발자
article thumbnail
728x90

문제

https://www.acmicpc.net/problem/2775

 

 

접근 방법

1. 0층 i 호 부터 i만큼 사람이 살고 있고, K층 N호에 사는 사람을 구하는 문제입니다.

2. 따라서 dp로 미리 층과 호에 사람을 넣어두고 테스트케이스를 돌며 K층 N호에 사람을 출력하면 된다고 생각했습니다.

 

 

코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
    private static StringBuilder sb;
    private static BufferedReader br;
    private static StringTokenizer st;
    private static int T;
    private static int K,E;
    private static int[][] arr = new int[15][15];

    //입력
    public static void input() throws Exception {
        br = new BufferedReader(new InputStreamReader(System.in));
        sb = new StringBuilder();

        T = Integer.parseInt(br.readLine());

        for(int i = 0 ; i < 15; i++){
            arr[0][i] = i;
        }

        for(int i = 1 ; i < 15; i++){
            int person = 0;
            for(int j = 1 ; j < 15; j++){
                person += arr[i-1][j];
                arr[i][j] = person;
            }
        }

        for(int tc = 0 ; tc<T ; tc++){
            K = Integer.parseInt(br.readLine());
            E = Integer.parseInt(br.readLine());
            process();
        }
    }

    //실행
    public static void process() {
        System.out.println(arr[K][E]);
    }


    public static void main(String[] args) throws Exception {
        input();
    }
}
profile

응애개발자

@Eungae-D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!