문제 출처: https://www.acmicpc.net/problem/2775
규칙을 찾는다.
2층: 01 04 10 ...
1층: 01 03 06 10 15 21 28 36 45 55 66 78 91 105
0층: 01 02 03 04 05 06 07 08 09 10 11 12 13 14
=> 2층의 3호 사람 수 (10) = 2층의 2호 사람 수 (4) + 1층의 3호 사람 수 (6)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(reader.readLine()); StringBuilder builder = new StringBuilder(); int[][] APT = new int[15][15]; for(int i=0 ; i<15 ; i++) APT[0][i] = i; for(int i=1 ; i<15 ; i++) for(int j=1 ; j<15 ; j++) APT[i][j] += APT[i][j-1] + APT[i-1][j]; for(int i=0 ; i<T ; i++){ int k = Integer.parseInt(reader.readLine()); int n = Integer.parseInt(reader.readLine()); builder.append(APT[k][n]).append("\n"); } System.out.println(builder); } } | cs |
'Algorithm' 카테고리의 다른 글
백준 6064번: 카잉 달력 (0) | 2018.10.24 |
---|---|
백준 1475번: 방 번호 (0) | 2018.10.24 |
백준 1193번: 분수찾기 (0) | 2018.10.24 |
백준 2292번: 벌집 (0) | 2018.10.24 |
백준 9020번: 골드바흐의 추측 (0) | 2018.10.21 |