2775 부녀회장이 될테야

Yohan Kim·2022년 7월 5일
0

문제

코드

import sys
num_of_test = int(sys.stdin.readline())
for i in range(num_of_test):
    k = int(sys.stdin.readline())
    n = int(sys.stdin.readline())
    data = [[0 for width in range(n)] for height in range(k+1)]
    for height in range(k+1):
        for width in range(n):
            if(height == 0):
                data[height][width] = width+1
            elif(width == 0):
                data[height][width] = 1
            else:
                data[height][width] = data[height-1][width] + data[height][width-1]
    print(data[height][width])
'''
0층 1호:1명, 2호:2명, 3명:3명
1층:1호:1명, 2호:3명, 3호:6명
2층:1호:1명, 2층:4명, 3층:10명
'''

풀이

a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다

a층 b-1호 -> a-1층에서 b-1호까지의 모든 사람들의 수

이므로 a층 b-1호에다가 a-1층에서 b호의 값을 더하면 a[n][b]가 나오게 된다.

profile
안녕하세요 반가워요!

0개의 댓글