๐งฉ๋ฌธ์ ํด์
a์ธต์ bํธ์ ์ด๋ ค๋ฉด ์์ ์ ์๋(a-1)์ธต์ 1ํธ๋ถํฐ bํธ๊น์ง ์ฌ๋๋ค์ ์์ ํฉ๋งํผ ์ฌ๋๋ค์ ๋ฐ๋ ค์ ์ด์์ผํ๋ค.
k์ n์ด ์ฃผ์ด์ง๋ k์ธต์ nํธ์๋ ๋ช ๋ช ์ด ์ด๊ณ ์๋์ง ์ถ๋ ฅํ๋ฉด ๋๋ค.
์ธต์ 0์ธต๋ถํฐ ์์ง๋ง ์ ๋ ฅ ๋ฒ์๋ 1 <= k,n <= 14 ์ด๋ค. ์ฆ 0์ธต์ ์ฃผ์ด์ง์ง ์๋๋ค.
๐ ํ์ด
์๋ก ์ฌ๋ผ๊ฐ์๋ก ๋ํ๊ธฐ๋ง ์ฃผ๊ตฌ์ฅ์ฐฝ ํด์ฃผ๋ฉด ๋๋คใ
์ด์ ๊ฐ ์ธต์ ๋ช๋ช ์ด ์ด๊ณ ์๋์ง ํ๋ก ์ดํด๋ณด์.
2์ธต | 1 | 4 (1+3) | 10 (1+3+6) | ์๋์ธต ์ ๋ถ ๋ํ ๊ฐ |
1์ธต | 1 | 3 (1+2) | 6 (1+2+3) | n๊น์ง์ ํฉ |
0์ธต | 1 | 2 | 3 | n |
1ํธ | 2ํธ | 3ํธ | nํธ |
์ด๋ n์ธต์ kํธ์ ๋ช ๋ช ์ด ์ฌ๋์ง ๊ตฌํ๋ ๋ฐฉ๋ฒ์ ๋๊ฐ์ง ์ ๋๊ฐ ์๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง ๊ฒ์ฒ๋ผ ์์ ์ ์๋ ์ธต์ 1ํธ๋ถํฐ nํธ๊น์ง์ ํฉ์ ๊ตฌํ ์๋ ์๊ณ , ์๋๋ฉด ์์ ์ ์ธต์ (n-1)ํธ์ ์์ ์ ์๋์ธต nํธ๋ฅผ ๋ํ์ฌ ๊ตฌํ ์๋ ์๋ค.
์๋ฐ์๋ ์ ์๋ก ๋ต์ ๊ตฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ์๋ ๊ธ์ ์์ฑํ๋ค ๋ณด๋ ๋ ์ฌ๋๋คใ
ใ
๐ป ์ฝ๋
import sys
input = sys.stdin.readline
for t in range(int(input())): # ํ
์คํธ ์ผ์ด์ค
k= int(input().rstrip()) # ์ธต ์
๋ ฅ๋ฐ์
n = int(input().rstrip()) # ํธ ์
๋ ฅ๋ฐ์
arr = [num for num in range(1, n+1)] # 0์ธต์ ์ฌ๋ ์น๊ตฌ
for i in range(k):
new = [] # ๊ฐ ๋ด์์ค ์์ ์ ์ฅ์
for j in range(n):
new.append(sum(arr[:j+1])) # nํธ๊น์ง์ ํฉ์ ๋ํ์ฌ new์ ์ถ๊ฐ
arr= new.copy() # arr๋ก ๋ฐํํด์ค ์ ๊ณผ์ ์ k์ธต๊น์ง ๋ฐ๋ณต
print(arr[-1]) # k์ธต์ nํธ ๊ฐ ์ถ๋ ฅ
๐ ๋ฌธ์ ๋งํฌ : ๋ถ๋ ํ์ฅ์ด ๋ ํ ์ผ
'Problem Solving > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ - ํ์ด์ฌ (0) | 2022.06.03 |
---|---|
[๋ฐฑ์ค] 1697๋ฒ: ์จ๋ฐ๊ผญ์ง - ํ์ด์ฌ (0) | 2022.06.02 |
[๋ฐฑ์ค] 5014๋ฒ: ์คํํธ๋งํฌ - ํ์ด์ฌ (0) | 2022.06.01 |
[๋ฐฑ์ค] 7562๋ฒ: ๋์ดํธ์ ์ด๋ - ํ์ด์ฌ (0) | 2022.05.31 |
[๋ฐฑ์ค] 2573๋ฒ: ๋น์ฐ - ํ์ด์ฌ (0) | 2022.05.30 |