728x90
https://www.acmicpc.net/problem/10844
풀이
코드
import java.util.*
fun main(args: Array<String>) {
val sc = Scanner(System.`in`)
val N = sc.nextInt()
val dp = Array(N + 1) {
IntArray(10)
}
for (j in 1..9) {
dp[1][j] = 1
}
for (i in 2..N) {
for (j in 0..9) {
dp[i][j] = when (j) {
0 -> dp[i - 1][j + 1] % 1_000_000_000
9 -> dp[i - 1][j - 1] % 1_000_000_000
else -> (dp[i - 1][j - 1] + dp[i - 1][j + 1]) % 1_000_000_000
}
}
}
var sum = 0
for (i in 0..9) {
sum += dp[N][i]
}
println("$sum")
}
728x90
'알고리즘' 카테고리의 다른 글
[백준][KOTLIN] 11054 가장 긴 바이토닉 부분 수열 (0) | 2021.12.17 |
---|---|
[백준][KOTLIN] 11053 가장 긴 증가하는 부분 수열 (0) | 2021.12.15 |
[백준][KOTLIN] 2579 계단 오르기 (0) | 2021.12.10 |
[백준][KOTLIN] 1932 정수 삼각형 (0) | 2021.12.10 |
[백준][KOTLIN] 1149 RGB거리 (0) | 2021.12.09 |