eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Лунокод

Лунокод

В ході оборонної війни проти марсіан місячні програмісти придумали новий спосіб кодування інформації. Уся інформація подається у вигляді матриці \textbf{A} розміром \textbf{M}×\textbf{N}, яка складається з нулів та одиниць. Верхня ліва клітинка такої полоски має координати (\textbf{1}, \textbf{1}), нижня права --- (\textbf{M}, \textbf{N}). Щоб передавати інформацію без спотворень, було розроблено цікавий механізм. Перед передачею інформації полоска заповнюється нулями та одиницями таким чином, щоб для довільного \textbf{i} від \textbf{1} до \textbf{N−1} вмконувалась наступна умова: у мноині \textbf{\{j | (A\[j\]\[i\]=0 И A\[j\]\[i+1\]=1)\}} не більше \textbf{K} элементов. Після прийому інформації перевіряється виконання даної умови, і у випадку, якщо для якось \textbf{i} воно не виконується, то отриманій інформації довіряти не можна. Механізм став широко поширеним і отримав назву "контрольна умова лунатиків". \InputFile \textbf{3} цілих числа \textbf{M}, \textbf{N}, \textbf{K}. \textbf{1} ≤ \textbf{M}, \textbf{N} ≤ \textbf{40}. \textbf{0} ≤ \textbf{K} ≤ \textbf{M}. \OutputFile Ціле число --- кількість заповнених матриць, які задовольняють контрольній умові лунатиків. \textbf{Підказка} Матриці, які задовольняють прикладу 2: 10 11 10 11 10 10 11 11 00 01 00 01 00 01 00 10 10 11 11 00 01 00 01 10 10 11 11 00 00 01
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Автор Александр Ипатов
Джерело Ural SU and Orel STU Contest. Petrozavodsk Summer Session, August 2006