์ƒˆ์†Œ์‹

๐Ÿงฎ PS

๋ฐฑ์ค€ (boj) ํŒŒ์ด์ฌ - 1003 ๋ฒˆ : ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜

  • -

๋ฌธ์ œ ๋งํฌ  : https://www.acmicpc.net/problem/1003

 

1003๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค 0์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜์™€ 1์ด ์ถœ๋ ฅ๋˜๋Š” ํšŸ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

 

 

 

 

 

 

 


 

 

๋ฌธ์ œ ๋ถ„๋ฅ˜ : ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ https://infinitt.tistory.com/246

 

์•Œ๊ณ ๋ฆฌ์ฆ˜ - ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ (Dynamic Programming)

๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ (Dynamic Programming) : DP ๊ฐœ๋… : ๋ฌธ์ œ๋ฅผ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์–ด ํ•ด๊ฒฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜. (๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„์Šทํ•˜๋‹ค. ์ฐจ์ด์ ์€ ๋ฐ”๋กœ ์•„๋žซ์ค„.) ํ•ต์‹ฌ์€, ๊ทธ ์ž‘์€ ๋‹จ์œ„์˜ ๋ฌธ์ œ๋“ค์ด ๋ฐ˜๋ณตํ•ด์„œ..

infinitt.tistory.com

 

 

 

ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜๋ฅผ C++์†Œ์Šค๋กœ ์ œ๊ณตํ•˜๊ณ , ๊ฑฐ๊ธฐ์— ๊ด€๋ จํ•˜์—ฌ 0๊ณผ 1์ด ์ถœ๋ ฅ๋œ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค.

0๊ณผ 1์˜ ์ถœ๋ ฅ๋„ ํ”ผ๋ณด๋‚˜์น˜์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ™์€ ์ ํ™”์‹์ด ์„ธ์›Œ์ง„๋‹ค.

์ ํ™”์‹ : dp[i] = dp[i-1] + dp[i-2]

๋‹ค๋งŒ 0๊ณผ 1์ด๋ฏ€๋กœ (2๊ฐ€์ง€ ์ด๋ฏ€๋กœ) 2์ค‘ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

 

*์ •๋‹ต ์ฝ”๋“œ(Python)
T = int(input())
dp = [(1,0),(0,1),(1,1),(1,2)] + [(0,0) for _ in range(37)]   #๋ฌธ์ œ์—์„œ N์€ 40๊นŒ์ง€๋ผ๊ณ  ๋‚˜์˜จ๋‹ค.

for _ in range(T):
    N = int(input())
    for i in range(4,N+1):
        dp[i] = ( dp[i-1][0] + dp[i-2][0] , dp[i-1][1] + dp[i-2][1] )
    print(*dp[N])

 

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.