문제

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

설명

일종의 피라미드식 수열(?)의 합을 구하는 문제였다. 그래서 이중 반복문을 이용하여 각자리의 수열을 더하여 배열에 집어놓도록하였고 그 과정을 이 문제에서 주어진 층수만큼 반복하기 위해서 이중 반복문을 다시한번 반복문으로 감싸주면서 삼중 반복문을 이용하여 결과를 도촐하였다. 일단 브론즈단계의 문제이니 이렇게 풀었지만 이문제의 난이도가 실버 후반만 됐어도 어쨰 시간제한 빡세게 걸어서 이 알고리즘으로는 시간초과니 하며 빠꾸먹지 않았을까 조심스레 예상해본다…

코드

#include <stdio.h>

int main() {
    int t,k,n;
    scanf("%d",&t);
    for(int i=0; i<t; i++)
    {
        scanf("%d",&k);
        scanf("%d",&n);
        int ho[14],temp[14];
        for(int j=0; j<n; j++) // 초기값 설정
            ho[j] = j+1;
        for(int a=0; a<k; a++)
        {
            for(int j=0; j<n; j++)
            {
                temp[j] = 0;
                for(int k=0; k<j+1; k++)
                {
                    temp[j] += ho[k];
                }
            }
            for(int j=0; j<n; j++)
                ho[j] = temp[j];
        }
        printf("%d\n",ho[n-1]);
    }
    return 0;
}