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