Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun countWays(n: Int, k: Int): Int {
val dp = IntArray(n + 1)
dp[1] = 1 // Единственный способ стоять на первой клетке
for (i in 2..n) {
for (j in 1..k) {
if (i - j >= 1) {
dp[i] += dp[i - j] // Считаем количество способов попасть в клетку i
}
}
}
return dp[n]
}
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val (n, k) = reader.readLine().split(" ").map(String::toInt)
writer.write(countWays(n, k).toString())
writer.newLine()
writer.flush()
reader.close()
writer.close()
}