Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Будем хранить в dp[i] кол-во способов попасть из ячейки 1 ячейку i.
- База динамики: dp[1] = 1. Один способ -- стоять на месте.
- Переход динамики: Кол-во способов попасть в i-ю ячейку -- из (i-k)-той ячейки dp[i - k] способов, из (i-k+1)-той ячейки dp[i - k + 1] способов, ... , из (i-1)-й dp[i - 1] способов. Получается, что всего способов прийти в нее будет dp[i - k] + dp[i - k + 1] + ... + dp[i - 1] способов.
- Пример кода на python:
- n, k = map(int, input().split())
- dp = [0] * (n + 1)
- dp[1] = 1
- for i in range(2, n + 1):
- for prev in range(max(1, i - k), i):
- dp[i] += dp[prev]
- print(dp[n])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement