728x90
#2775
t = int(input()) # test case
for i in range(t):
k = int(input()) # 층
n = int(input()) # 호
f0 = [x for x in range(1,n+1)]
for j in range(k):
for k in range(1,n):
f0[k] += f0[k-1]
print(f0[-1])
t는 test case, k,n은 각각 층과 호수라고 할 때,
손으로 직접 계산한다면 다음과 같다.
1호 | 2호 | 3호 | |
0층 | 1 | 2 | 3 |
1층 | 1 | 3(1+2) | 5(2+3) |
2층 | 1 | 4 | 8 |
3층 | 1 | 5 | 12 |
위의 표처럼 만들어질 수 있도록 f0 list를 만들어준다.
그 후 층수에 대한 호수만큼 for문을 돌려 k층일 때, (k-1)층의 n의 호수만큼 더해준다.
result는 만들어진 list의 마지막을 뽑아내면 된다.
너무 어렵다! 수학이지만 항상 규칙 찾는 건 쉽지만 그걸 코딩으로 옮긴다는 건 브론즈에게 너무 힘들어요..ㅠ
728x90
반응형
'Deep Learning > Algorithm' 카테고리의 다른 글
백준 10757, 10871 (0) | 2022.03.31 |
---|---|
백준 2839 (0) | 2022.03.29 |
백준 10250 (0) | 2022.03.24 |
백준 2869 (0) | 2022.03.23 |
백준 1193 (0) | 2022.03.22 |