๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
[๋ฐฑ์ค] [Python] 1904๋ฒ_01ํ์ผ_๋์ ํ๋ก๊ทธ๋๋ฐ
Dbswnstjd
2022. 9. 16. 19:09
๋ฌธ์
https://www.acmicpc.net/problem/1904
1904๋ฒ: 01ํ์ผ
์ง์์ด์๊ฒ 2์ง ์์ด์ ๊ฐ๋ฅด์ณ ์ฃผ๊ธฐ ์ํด, ์ง์์ด ์๋ฒ์ง๋ ๊ทธ์๊ฒ ํ์ผ๋ค์ ์ ๋ฌผํด์ฃผ์ จ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ๊ฐ์ ํ์ผ๋ค์ 0 ๋๋ 1์ด ์ฐ์ฌ ์๋ ๋ฑ์ฅ์ ํ์ผ๋ค์ด๋ค. ์ด๋ ๋ ์ง๊ถ์ ๋์ฃผ๊ฐ ์ง์์ด
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 1904๋ฒ ๋ฌธ์ - 01ํ์ผ
n = int(input())
d = [0]*1000001
d[1] = 1
d[2] = 2
for i in range(3, n+1):
d[i] = (d[i-1] + d[i-2])%15746
print(d[n])
์ด๋ฒ ๋ฌธ์ ๋ ๋์ ํ๋ก ๊ทธ๋๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์๋ค.
๋จผ์
d[1] => 1 ํ์ผ => 1
d[2] => 00, 11 ํ์ผ => 2
d[3] => 100, 001, 111 => 3
d[4] => 1100, 0011, 1001, 0000, 1111 => 5
์ ํ์์ ๊ตฌํด๋ณด๋ฉด
d[n] = d[n-1] + d[n-2] (n>=3) ์ด๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋๋ค.
์ธ๋ฑ์ค๋ ํท๊ฐ๋ฆฌ์ง ์๋๋ก 1๋ถํฐ ์์ํ์๋ค.