#include<stdio.h>
int main()
{
int input, floor, room;
scanf("%d", &input);
int arr[15][15];
for (int i = 1; i <= 14; i++)
{
arr[0][i] = i;
}
for (int i = 1; i <= 14; i++)
{
for (int k = 1; k <= 14; k++)
{
if (k == 1)
arr[i][k] = 1;
else
arr[i][k] = arr[i - 1][k] + arr[i][k - 1];
}
}
for (int i = 0; i < input; i++)
{
scanf("%d %d", &floor, &room);
printf("%d\n",arr[floor][room]);
}
return 0;
}
이 문제는 처음에 배열에 다 집어 넣는 방식이 아닌 아에 탐색을 해서 한번에 찾으려 하다가 시간이 너무 오래 걸려서 다른 방법을 찾다가 배열의 갯수가 적은 걸 보고 그냥 배열에다가 다 초기화를 한 후에 푸는걸로 방식을 바꿨다.
이걸 재귀로도 풀 수 있다고 하는데 재귀에 대한 이해도가 떨어져 감이 잘 안온다.
다음번에는 재귀로도 풀어보도록 해보자.
728x90
'알고리즘 기초시절' 카테고리의 다른 글
백준 (C언어)백준 1152번 단어의 갯수 scanf ("%[^\n]") (0) | 2023.01.04 |
---|---|
백준 (C언어)백준 2869번 달팽이 (시간복잡도 문제) (0) | 2023.01.04 |
백준 (C언어)백준 10757번 큰수 A+B문제 리버스 사용 (0) | 2023.01.04 |
백준 (C언어)백준 1002번 터렛 원의 내접 외접 조건문제 (0) | 2023.01.04 |
백준 (C언어)그리디 알고리즘 단어수학 백준1339번 (0) | 2023.01.04 |