В статье обсуждается рекурсивный подход к перечислению некоторых классов комбинаторных задач. Классические комбинаторные объекты-частые гости олимпиадных соревнований различного уровня. Комбинаторные проблемы, в которых они возникают, опираются на зависимость от рекуррентных соотношений и поэтому, чаще всего, решаются с помощью метода динамического программирования. При таком подходе сложные задачи решаются путём разбиения их на более простые и мелкие проблемы. Большинство примеров в этой статье встречались на соревновании по спортивному программированию-Открытом кубке им. Е.В. Панкратьева (Гран-При Татарстан). Это соревнование ежегодно проводится в г. Казани и служит одним из этапов подготовки студенческих и школьных команд для участия в финале ACM ICPC и Всероссийской олимпиады школьников по информатике. Полные тексты всех этих задач
доступны в Интернете: www.icl.ru/turnir.