IT/알고리즘
[백준] 11048번 이동하기
남갯
2025. 1. 6. 21:18
728x90
SMALL
N x M으로 dp로 문제 구하는 방법
https://www.acmicpc.net/problem/11048
fun main() = with(Scanner(System.`in`)) {
val x = nextInt()
val y = nextInt()
val array: Array<Array<Int>> = Array(x) { Array(y) { 0 } }
val dp: Array<Array<Int>> = Array(x) { Array(y) { 0 } }
for (i in 0 until x) {
for (j in 0 until y) {
val value = nextInt()
array[i][j] = value
dp[i][j] = value
}
}
for (i in 0 until x) {
for (j in 0 until y) {
if (i + 1 < x) {
dp[i + 1][j] = max(dp[i][j] + array[i + 1][j], dp[i + 1][j])
}
if (j + 1 < y) {
dp[i][j + 1] = max(dp[i][j] + array[i][j + 1], dp[i][j + 1])
}
}
}
println(dp[x - 1][y - 1])
}
728x90
LIST