Лестница с выбитыми ступенями

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Динамическое программирование

В подъезде n ступеней, они пронумерованы снизу вверх числами от 1 до n; пол под первой ступенью считается ступенью 0. За один шаг можно подняться на 1, 2 или 3 ступени вверх. Некоторые ступени выбиты (их номера даны в списке broken): вставать на них нельзя, но перешагивать через них можно. Верните, сколькими разными последовательностями шагов можно подняться с пола на ступень n. Если n = 0, ответ 1 (шагов не нужно); если ступень n выбита, ответ 0.

Значение для ступени i естественно выразить через последний шаг: сколько способов добраться до i - 1, i - 2 и i - 3. Ограничения: n не больше 30.

Пример: 3, [] → 4 (1+1+1, 1+2, 2+1, 3).


Источник: задача CodeShare

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки