풀이
매번 새로 구하면 비효율적이므로 미리 값을 모두 계산하여 2차원 배열 등에 저장해 놓고 테스트케이스마다 저장해둔 답을 출력하면 됩니다.
코드
LIMIT = 14
def main():
resident_count = [[0] * (LIMIT + 1) for _ in range(LIMIT + 1)]
for n in range(1, LIMIT + 1):
resident_count[0][n] = n
for k in range(1, LIMIT + 1):
for n in range(1, LIMIT + 1):
for i in range(1, n + 1):
resident_count[k][n] += resident_count[k - 1][i]
T = int(input())
for _ in range(T):
k = int(input())
n = int(input())
print(resident_count[k][n])
main()