1. Есть 10 коробок, в каждую из которых входит 10 деревянных блоков. Всего имеем 100 блоков, которые раскрашены в 10 разных цветов. Они могут быть разукрашены в неравных количествах. Нужно доказать, что возможно упаковать все 100 блоков в коробки учитывая, что в одной коробке не будут присутствовать блоки более чем двух цветов.
2. Заяц стоит перед 10-ю ступенями. Умеет прыгать либо на 1 ступень вверх, либо на 2. Нужно найти количество путей, которыми он может добраться до финиша. Пример 221221, 112222, и т.д.
Дополнительно нужно рассмотреть результат, если заяц может прыгать на X ступеней, дополнительно к его первоначальным возможностям.
По поводу первой задачи у меня пока идей нет, а вторую знаю как без проблем решить перебором на с#. Идея в том, что эту задачу можно решить математическим путем, а здесь я не настолько силен.
Подскажите пожалуйста, в какую сторону копать?