728x90
๋ฌธ์
45656์ด๋ ์๋ฅผ ๋ณด์.
์ด ์๋ ์ธ์ ํ ๋ชจ๋ ์๋ฆฌ์ ์ฐจ์ด๊ฐ 1์ด๋ค. ์ด๋ฐ ์๋ฅผ ๊ณ๋จ ์๋ผ๊ณ ํ๋ค.
N์ด ์ฃผ์ด์ง ๋, ๊ธธ์ด๊ฐ N์ธ ๊ณ๋จ ์๊ฐ ์ด ๋ช ๊ฐ ์๋์ง ๊ตฌํด๋ณด์. 0์ผ๋ก ์์ํ๋ ์๋ ๊ณ๋จ์๊ฐ ์๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
https://www.acmicpc.net/problem/10844
๐ก ํ์ด ๋ฐ ์ฝ๋
n = int(input())
d = [[0] * 10 for _ in range(n)]
d[0] = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1]
for i in range(1, n):
d[i][0] = d[i-1][1]
d[i][9] = d[i-1][8]
for j in range(1, 9):
d[i][j] = (d[i-1][j-1] + d[i-1][j+1]) % 1000000000
print(sum(d[n-1])% 1000000000)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ๊ฐ๊ฐ์ ์ธ์ ํด ์๋ ์์ ๊ฒฐํฉ๋์ด์ผ ํ๋ฏ๋ก, ์ด๊ธฐ n=1์ผ ๋ ๊ณ๋จ ์์ ๊ฐ์๋ ๋ฏธ๋ฆฌ ์ง์ ํ ํ ๊ธธ์ด i์ ๋ํด ๋ค์๊ณผ ๊ฐ์ ์ ํ์์ ์ธ์ธ ์ ์๋ค.
i = 0
d[i][0] = d[i-1][1]i = 9
d[i][9] = d[i-1][8]i = j(1~8)
d[i][j] = d[i-1][j-1] + d[i-1][j+1]
โป ์ด์ค๋ฆฌ์คํธ ์ด๊ธฐํ
- ์๋ชป๋ ํํ
d = [[0] * 10] * n # ์ถ๋ ฅ์ ๋์ง๋ง ๋ฐฑ์ค์์ ์ค๋ฅ
- ์ ํํ ํํ
d = [[0] * 10 for _ in range(n)]
728x90
'Algorithm > ๐ Baekjoon Judge' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค 14501๋ฒ ํด์ฌ - ํ์ด์ฌ(Python) (0) | 2021.10.06 |
---|---|
[BOJ] ๋ฐฑ์ค 11052๋ฒ ์นด๋ ๊ตฌ๋งคํ๊ธฐ - ํ์ด์ฌ(Python) (0) | 2021.10.06 |
[BOJ] ๋ฐฑ์ค 2156๋ฒ ํฌ๋์ฃผ ์์ - ํ์ด์ฌ(Python) (0) | 2021.09.15 |
[BOJ] ๋ฐฑ์ค 1932๋ฒ ์ ์ ์ผ๊ฐํ - ํ์ด์ฌ(Python) (0) | 2021.09.14 |
[BOJ] ๋ฐฑ์ค 2579๋ฒ ๊ณ๋จ ์ค๋ฅด๊ธฐ - ํ์ด์ฌ(Python) (0) | 2021.09.14 |