Конструктив на Python: как решать + 4 задач с проверкой

Конструктивные задачи просят построить пример: строку, раскраску, перестановку, граф, расписание — так, чтобы выполнялись ограничения. Это встречается в олимпиадах постоянно: «сделайте раскладку», «подберите набор», «сгенерируйте конфигурацию», иногда ещё и самую маленькую/красивую по правилу (например, лексикографически минимальную). Примеры сюжетов: раскраска стены с условием на каждый блок "2×2", капсулы для жирафов, аркадная раскладка с взаимной простотой, роботы на ленте.

Как понять, что это конструктив:

Суть приёма: вы находите шаблон построения, который гарантирует выполнение условий, и заполняете ответ по этому шаблону. Это ускоряет решение, потому что вместо глобального перебора вы используете идею: периодичность, чередование, разбиение на блоки, жадный выбор с доказуемым продолжением.

С чего начать учиться:

Ниже — задачи с автопроверкой и разбором подхода: от простых конструкций до случаев, где нужно ещё выбрать минимальный вариант.

Задачи по теме «Конструктив»

Весь каталог задач