Вам дается N блоков высотой 1… Н. Какими способами вы можете расположить эти блоки в ряд так, чтобы при просмотре слева вы видели только L блоков (остальные скрыты более высокими блоками), а если смотреть справа, вы видите только блоки R? Приведен пример N = 3, L = 2, R = 1
существует только одно расположение {2, 1, 3}
, а для N = 3, L = 2, R = 2
есть два пути {1, 3, 2}
и {2, 3, 1}
.
Как решить эту проблему с помощью программирования? Какие-нибудь эффективные способы?