https://www.acmicpc.net/problem/10844
๊ท์น์ ๋จผ์ ์ฐพ์๋ณด์
๋ณธ์ธ์ A4์ฉ์ง์ ๊ทธ๋ ค๊ฐ๋ฉฐ ๊ท์น์ ์ฐพ์๋ณด์๋ค.
์ธ๋ฑ์ค๋ฅผ 0๋ถํฐํด์ ์ ๋ ฅ์ด ์ต๋ 100์ด๊ธฐ์, 100ํ 10์ด๋ก ๋ง๋ค์ด๋ณธ๋ค๋ฉด, ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋์จ๋ค.
์จ๋ณด๋ ๊ท์น์ด ๋ณด์ธ๋ค.
1ํ์ ๋ชจ๋ ๊ฐ์ด 1์ด๊ณ , 2ํ๋ถํฐ๋ ํน๋ณํ ๊ท์น์ด ์๊ธด๋ค.
ํ์ดํ๋ก ํ์ํด ๋์๋ฏ 0์ด์ ๊ฐ์ ์ด์ ํ์ 1์ด์ ๊ฐ์ด๊ณ ,9์ด์ ๊ฐ์ ์ด์ ํ์ 8์ด์ ๊ฐ์์ ์ ์ ์๋ค.
๋ํ ๊ฐ์ด๋ฐ ๊ฐ๋ค์ ์๋ฅผ๋ค์ด 3ํ 3์ด์ด๋ผ๊ณ ํ๋ฉด, ๊ทธ ๊ฐ์ 2ํ2์ด๊ณผ 2ํ4์ด์ ๊ฐ์ ํฉ์์ ์ ์ ์๋ค.
์ด์ ํ๋ทธ๋ ์ด์ ์ผ๋ก ํ์ด๋ณด์
n=int(input())
cache = [[0]* 10 for _ in range(101)]
for i in range(1,101):
for j in range(0,10):
if i ==1:
cache[i][j] =1
elif j==0:
cache[i][j] = cache[i-1][j+1]
elif j==9:
cache[i][j] = cache[i-1][j-1]
else:
cache[i][j] = cache[i-1][j-1] + cache[i-1][j+1]
arr=[0] * 101
for i in range(1,101):
for j in range(1,10):
arr[i]+= cache[i][j]
print(arr[n]%1000000000)
'๐ฏ์๊ณ ๋ฆฌ์ฆ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 1์ฃผ์ฐจ(1) (0) | 2025.01.05 |
---|---|
DP (0) | 2024.06.27 |
[๋ฐฑ์ค/Python] 11726:2รn ํ์ผ๋ง (0) | 2024.06.27 |
[๋ฐฑ์ค/Python] 11051:์ดํญ ๊ณ์ 2 (0) | 2024.06.27 |
[๋ฐฑ์ค/Python] 2748:ํผ๋ณด๋์น ์ 2 (0) | 2024.06.27 |