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

k-ый меандр

k-ый меандр

В этой задаче необходимо найти лексикографически \textbf{k}-ый меандр порядка \textbf{n}. Рассмотрим прямую линию, нарисованную на плоскости. Меандром порядка \textbf{n} называется замкнутая плоская кривая, пересекающая прямую линию \textbf{2n} раз. Меандр можно себе представить в виде замкнутой извилистой дороги, которая пересекает прямой отрезок реки по мостам. Приведенное интуитивное определение должно быть уточнено несколькими формальными условиями: кривая не должна иметь самопересечений или самокасаний, все \textbf{2n} точек, где кривая пересекается с прямой, различны, и действительно являются пересечениями, а не касаниями, и более того, кривая и прямая больше не имеют общих точек, кроме указанных выше. \includegraphics{https://static.e-olymp.com/content/4c/4ca24a599b42dc3aa6de07321c09285f4a5a5379.jpg} Определим удобный способ нарисовать меандр. Без ограничения общности предположим, что прямая располагается горизонтально, а точки пересечения расположены на единичном расстоянии друг от друга. Отметим, что точки пересечения кривой разделяют ее на \textbf{2n} частей. Некоторые \textbf{n} частей находятся над прямой, а другие \textbf{n} частей под ней. Каждую из этих частей изобразим в виде полукруга, построенного на соответствующем сегменте линии как на диаметре, и расположим выше или ниже самой линии по мере необходимости. Можно доказать, что картинка, которую мы получили, является меандром: в частности, построенная таким образом кривая не имеет самопересечений или самокасаний. Обратное тоже верно: каждый меандр может быть преобразован в заданную картину непрерывными (гомеоморфными) преобразованиями. Теперь давайте научимся записывать меандр в виде строки. Рассмотрим меандр, изображенный согласно приведенной процедуре. Будем идти по линии слева направо и делать запись каждый раз когда встретим точку пересечения. Для каждой такой точки две части кривой присоединены к ней: одна сверху и одна снизу прямой. Каждая из таких частей является полукругом, идущим налево или направо от текущей точки пересечения. Будем различать четыре возможных случая и отмечать каждый из них буквой английского алфавита: \begin{itemize} \item Если оба полукруга идут вправо, будем говорить что кривая открывается в этом пересечении, обозначим это факт буквой \textbf{O} (Open). \item Если оба полукруга идут влево, будем говорить что кривая закрывается в этом пересечении, обозначим это факт буквой \textbf{C} (Close). \item Если нижний полукруг идет влево, а верхний вправо, будем говорить что кривая идет вверх в этом пересечении, обозначим это факт буквой \textbf{U} (Up). \item Если верхний полукруг идет влево, а нижний вправо, будем говорить что кривая идет вниз в этом пересечении, обозначим это факт буквой \textbf{D} (Down). \end{itemize} Двигаясь слева направо, запишем \textbf{2n} буквы для обозначения пересечений. Оказывается, что этой информации достаточно для однозначного восстановления меандра. Этот процесс можно представить себе в виде движения по течению реки (слева направо) и записи конфигурации дорог в непосредственной близости от мостов. Два меандра считаются разными, если их нотации разные. Например, все восемь разных меандров порядка \textbf{3 }представлены ниже. \includegraphics{https://static.e-olymp.com/content/18/181f493b4a4cf2697e12d3be398c3719c3db9b6c.jpg} Для заданного порядка \textbf{n} возьмем все различные меандры, отсортируем их лексикографически согласно нотациям. По заданному порядку \textbf{n} и числу \textbf{k} выведите нотацию лексикографически \textbf{k}-го меандра порядка \textbf{n}. \InputFile Два целых числа \textbf{n} и \textbf{k} (\textbf{1} ≤ \textbf{n} ≤ \textbf{25}, \textbf{1} ≤ \textbf{k} ≤ \textbf{10^11}): порядок и номер меандра. Гарантируется, что меандр с указанными параметрами существует. \OutputFile Вывести строку из \textbf{2n} букв: нотацию меандра, являющегося \textbf{k}-ым в лексикографически отсортированном списке меандров порядка \textbf{n}.
Лимит времени 4 секунды
Лимит использования памяти 64 MiB
Входные данные #1
3 1
Выходные данные #1
ODOUCC
Источник 2014 Петрозаводск, Ivan Kazmenko Contest, Август 22, Задача F