์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/BOJ_Python

[BOJ/Step8] 2775 : ๋ถ€๋…€ํšŒ์žฅ์ด ๋ ํ…Œ์•ผ (Python)

NaNaRin๐Ÿ™ƒ 2021. 2. 10. 20:34

www.acmicpc.net/problem/2775

 

2775๋ฒˆ: ๋ถ€๋…€ํšŒ์žฅ์ด ๋ ํ…Œ์•ผ

์ฒซ ๋ฒˆ์งธ ์ค„์— Test case์˜ ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค๋งˆ๋‹ค ์ž…๋ ฅ์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ k, ๋‘ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค

www.acmicpc.net


๋ฌธ์ œ

ํ‰์†Œ ๋ฐ˜์ƒํšŒ์— ์ฐธ์„ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” ์ฃผํฌ๋Š” ์ด๋ฒˆ ๊ธฐํšŒ์— ๋ถ€๋…€ํšŒ์žฅ์ด ๋˜๊ณ  ์‹ถ์–ด ๊ฐ ์ธต์˜ ์‚ฌ๋žŒ๋“ค์„ ๋ถˆ๋Ÿฌ ๋ชจ์•„ ๋ฐ˜์ƒํšŒ๋ฅผ ์ฃผ์ตœํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

์ด ์•„ํŒŒํŠธ์— ๊ฑฐ์ฃผ๋ฅผ ํ•˜๋ ค๋ฉด ์กฐ๊ฑด์ด ์žˆ๋Š”๋ฐ, “a์ธต์˜ bํ˜ธ์— ์‚ด๋ ค๋ฉด ์ž์‹ ์˜ ์•„๋ž˜(a-1)์ธต์˜ 1ํ˜ธ๋ถ€ํ„ฐ bํ˜ธ๊นŒ์ง€ ์‚ฌ๋žŒ๋“ค์˜ ์ˆ˜์˜ ํ•ฉ๋งŒํผ ์‚ฌ๋žŒ๋“ค์„ ๋ฐ๋ ค์™€ ์‚ด์•„์•ผ ํ•œ๋‹ค” ๋Š” ๊ณ„์•ฝ ์กฐํ•ญ์„ ๊ผญ ์ง€ํ‚ค๊ณ  ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค.

์•„ํŒŒํŠธ์— ๋น„์–ด์žˆ๋Š” ์ง‘์€ ์—†๊ณ  ๋ชจ๋“  ๊ฑฐ์ฃผ๋ฏผ๋“ค์ด ์ด ๊ณ„์•ฝ ์กฐ๊ฑด์„ ์ง€ํ‚ค๊ณ  ์™”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ์ฃผ์–ด์ง€๋Š” ์–‘์˜ ์ •์ˆ˜ k์™€ n์— ๋Œ€ํ•ด k์ธต์— nํ˜ธ์—๋Š” ๋ช‡ ๋ช…์ด ์‚ด๊ณ  ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋ผ. ๋‹จ, ์•„ํŒŒํŠธ์—๋Š” 0์ธต๋ถ€ํ„ฐ ์žˆ๊ณ  ๊ฐ์ธต์—๋Š” 1ํ˜ธ๋ถ€ํ„ฐ ์žˆ์œผ๋ฉฐ, 0์ธต์˜ iํ˜ธ์—๋Š” i๋ช…์ด ์‚ฐ๋‹ค.

 

์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์— Test case์˜ ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค๋งˆ๋‹ค ์ž…๋ ฅ์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ k, ๋‘ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค

 

์ถœ๋ ฅ

๊ฐ๊ฐ์˜ Test case์— ๋Œ€ํ•ด์„œ ํ•ด๋‹น ์ง‘์— ๊ฑฐ์ฃผ๋ฏผ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.

 

์ œํ•œ

1 ≤ k, n ≤ 14

 

์˜ˆ์ œ ์ž…๋ ฅ 1

2

1

3

2

3

 

์˜ˆ์ œ ์ถœ๋ ฅ 1

6

10


ํ’€์ด

์กฐ๊ฑด : a์ธต์˜ bํ˜ธ์—๋Š” a-1์ธต์˜ 1ํ˜ธ๋ถ€ํ„ฐ bํ˜ธ๊นŒ์ง€์˜ ์‚ฌ๋žŒ ์ˆ˜์˜ ํ•ฉ๋งŒํผ ์‚ด์•„์•ผ ํ•œ๋‹ค => ๋…ธ๋ž€์ƒ‰

      = a์ธต์˜ bํ˜ธ์—๋Š” a์ธต์˜ b-1ํ˜ธ์™€ a-1์ธต์˜ bํ˜ธ์— ์‚ฌ๋Š” ์‚ฌ๋žŒ ์ˆ˜์˜ ํ•ฉ๋งŒํผ ์‚ด์•„์•ผ ํ•œ๋‹ค => ๋นจ๊ฐ„์ƒ‰

1. k์ธต์˜ nํ˜ธ๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ์ž…๋ ฅ๋ฐ›์€ nํ˜ธ์˜ ๊ธธ์ด๋งŒํผ์˜ ๋ฆฌ์ŠคํŠธ f๋ฅผ ์ƒ์„ฑํ•ด์„œ 1~n๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค : 0์ธต

2. k๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ k์ธต์˜ nํ˜ธ๋ฅผ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ ์ธต์˜ 1ํ˜ธ๋Š” ๋ชจ๋‘ 1๋ช…์ด ์‚ด๊ธฐ ๋•Œ๋ฌธ์— 2ํ˜ธ๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•œ๋‹ค

3. ๊ณ„์‚ฐ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฆฌ์ŠคํŠธ f ์œ„์— k์ธต์˜ ์‚ฌ๋žŒ ์ˆ˜๋ฅผ ๋ง์”Œ์šด๋‹ค.

( k์™€ n์˜ ๋ฒ”์œ„๊ฐ€ 14๋ณด๋‹ค ์ปค์ ธ๋„ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค )

# 2775.py

n = int(input())

for _ in range(n):
    k = int(input())
    n = int(input())
    f = [i for i in range(1, n+1)]
    for _ in range(k):
        for j in range(1, n):
            f[j] = f[j-1] + f[j]
    print(f[n-1])