Считайте, что у вас N лестниц. Прежде всего, вы должны понять, является ли N нечетным или четным.
Если четное, то оно будет кратным 2: N = 2 * S, где S - количество пар лестниц.
Предположим, N = 6 и S = 3. Ваше первое решение - {2,2,2}. чем вы можете заменить первые 2 лестницы на 1 + 1 ступеньки, и у вас есть второе решение {1, 1, 2, 2}. Поскольку порядок не имеет значения, перейдем к следующей паре, и у нас будет третье решение {1, 1, 1, 1, 2}, а затем четвертое {1, 1, 1, 1, 1, 1}
Для N = 2 * S количество возможных решений равно S + 1.
Теперь предположим, что N нечетно и N = 2S + 1. Пусть N = 7 и S = 3. Наши решения: {2 , 2,2,1}, {1,1,2,2,1}, {1,1,1,1,2,1} и {1,1,1,1,1,1,1}. Опять же, количество решений равно S + 1
Теперь ваш алгоритм довольно прост:
return N/2 + 1