본문 바로가기
Algorithms

백준 10844. 쉬운 계단 수

by Brian Go 2022. 7. 1.

https://www.acmicpc.net/problem/10844

 

10844번: 쉬운 계단 수

첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.

www.acmicpc.net

 

점화식을 잘 세워야 한다는 것을 명심한 문제..

 

i가 숫자열의 길이라고 했을 때, 맨 뒤에 올 수 있는 수의 갯수는 다음과 같다.

이전 i의 대각선의 합으로 나타나는 것으로 알 수 있다.

좌우 끝(1, 9)의 경우에는 대각선 하나의 합으로 나타나고.

 

따라서 점화식을 코드로 구현하면 다음과 같다.

n = int(input())
dp = [[0 for _ in range(10)] for _ in range(101)]

for i in range(1, 10):
	dp[1][i] = 1

for i in range(2, n+1):
	for j in range(10):
		if j == 0:
			dp[i][j] = dp[i-1][1]
		elif j == 9:
			dp[i][j] = dp[i-1][8]
		else:
			dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1]
print(sum(dp[n]) % 1000000000)

'Algorithms' 카테고리의 다른 글

백준 11053. 가장 긴 증가하는 부분 수열  (0) 2022.07.04
백준 2156. 포도주 시식  (0) 2022.07.04
백준 1463. 1로 만들기  (0) 2022.06.30
백준 2579. 계단 오르기  (0) 2022.06.29
백준 1932. 정수 삼각형  (0) 2022.06.28

댓글