Doblando la ciudad

Tiempo límite 0,1 s Java: 0,2 s
Memoria límite 1 GB
Casos de prueba 40
Enviar solución

Puntos: 1

Tipo de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Una tira de papel está dividida en \(2^N\) secciones iguales, numeradas de \(1\) a \(2^N\) de izquierda a derecha. Se dobla \(N\) veces; en cada doblez se toma la mitad exacta de la tira actual y se dobla la mitad izquierda sobre la derecha (L) o la derecha sobre la izquierda (R). Al final queda una pila de \(2^N\) capas.

Una casa está en la sección \(P\). Determina la secuencia de dobleces que deja esa sección en la capa \(H\) contando desde abajo (la capa \(1\) es la que toca el suelo).

Entrada

Una línea con tres enteros \(N\) \((1 \le N \le 60)\), \(P\) y \(H\) \((1 \le P, H \le 2^N)\).

Salida

Una línea con un texto de largo \(N\) cuyo \(i\)-ésimo carácter es L si en el \(i\)-ésimo doblez se dobla la izquierda sobre la derecha, o R si se dobla la derecha sobre la izquierda. Se garantiza que la solución existe y es única.

Notas

En el primer ejemplo, la sección \(4\) de una tira de \(8\) secciones termina en la capa \(7\) después de los tres dobleces.

Ejemplo 1

Entrada

3 4 7

Salida

LRL

Ejemplo 2

Entrada

4 16 16

Salida

LLLR

Regional Latinoamericana 2022 del ICPC, problema C («City Folding»). Versión en español redactada para este juez; el enunciado oficial, en inglés, está aquí abajo.

Enunciado oficial en inglés (PDF)

Tu navegador no muestra el PDF aquí. Ábrelo en otra pestaña.

Abrir el enunciado oficial en otra pestaña


Comentarios

No hay comentarios por el momento.