테스트 케이스로 주어진 입력의 최대 층수와 최대 호수까지만 구하여 나머지 케이스들은 한꺼번에 출력하였다.
max_k
가 최대 층수, max_n
이 최대 호수이다.
각 층의 거주자 수를 temp 리스트에 담은 후 한 층의 계산이 끝나면 floors 리스트에 추가하는 것을 반복.
import sys
T = int(sys.stdin.readline())
cases = []
max_k = max_n = 0
for i in range(T):
k = int(sys.stdin.readline())
n = int(sys.stdin.readline())
cases.append([k, n])
if k > max_k: max_k = k
if n > max_n: max_n = n
floors = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]]
for k in range(max_k):
temp = [0]
for n in range(max_n):
temp.append(temp[n] + floors[k][n + 1])
floors.append(temp)
for c in cases:
print(floors[c[0]][c[1]])