Algorithm

boj 2775 c++ 부녀회장이 될테야

최강훈 2020. 11. 20. 09:48

boj 2775 c++ 부녀회장이 될테야

백준 2775 cpp 부녀회장이 될테야


문제링크 : https://www.acmicpc.net/problem/2775


각 층의 호수에서 사람들이 몇 명이나 있어야 하는가는 다음과 같이 상상해볼 수 있다.


1층 1호(1명) 2호(3명) 3호(6명) ... 14호

0층 1호(1명) 2호(2명) 3호(3명) ... 14호(14명)


위는 아래와 같이 표현할 수도 있다.

arr[i][j] = arr[i-1][1~j]까지의 합.

이를 아래의 코드로 표현했고, 바로 정답 처리되었다.

#include <bits/stdc++.h>
using namespace std;

int arr[15][15];

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

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

    int testcase;
    int k, n;
    cin >> testcase;
    while (testcase--)
    {
        cin >> k >> n;
        cout << arr[k][n] << '\n';
    }
    return (0);
}