tier 부녀회장이 될테야

풀이

층 각 호에 사는 사람들을 구하고, 이를 이용해서 층에 사는 사람들을 구하고, 이를 이용해서 3층에 사는 사람들을 구하기를 반복하여 층까지 구하면 됩니다.

매번 새로 구하면 비효율적이므로 미리 값을 모두 계산하여 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()