Что нужно понимать
Каждое число можно рассматривать как вершину графа состояний, а команды исполнителя — как рёбра. Тогда нужно посчитать число допустимых путей.
Число способов
dp[x] — сколько различных программ приводят в значение x.
Обязательный этап
Если нужно пройти через C, часто ответ = ways(A,C) × ways(C,B).
Запрет
Запрещённое значение исключается из динамики: dp[forbidden] = 0.
Если все команды только увеличивают число, считать динамику особенно удобно слева направо от стартового значения к конечному.