QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 2048 MB Total points: 100

#7665. Equipaje

Statistics

Una aerolínea tiene dos vuelos que salen de ICPCity aproximadamente a la misma hora, uno hacia la ciudad B y otro hacia la ciudad A. También tiene $n$ mostradores donde los pasajeros facturan su equipaje. En cada mostrador hay dos contenedores idénticos para equipaje, uno para la ciudad B y otro para la ciudad A.

Justo antes de la salida de los vuelos, cada pareja de contenedores se traslada a una zona de clasificación con un carro motorizado. El carro siempre transporta dos contenedores a la vez, uno para la ciudad B y otro para la ciudad A. Cuando todos se han trasladado, quedan alineados así en la zona de clasificación:

$$\mathrm{B\ A\ B\ A\ B\ A\ \ldots\ B\ A}$$

Es decir, hay $2n$ contenedores en una fila, comenzando por uno para la ciudad B, luego uno para la ciudad A, y así sucesivamente. Ahora hay que reordenarlos para que todos los contenedores para A precedan a todos los de B. Entonces podrán cargarse en los aviones correspondientes.

La reordenación se realiza moviendo parejas de contenedores adyacentes (no necesariamente B seguido de A), también con el carro motorizado. Para mantener el equilibrio, el carro siempre debe transportar dos contenedores, nunca uno solo. Una pareja siempre debe trasladarse a un espacio vacío de al menos dos contenedores de ancho. A la izquierda del primer contenedor hay espacios vacíos que pueden utilizarse según sea necesario durante la reordenación.

Al comenzar la reordenación, las posiciones están numeradas desde $1$ (que inicialmente contiene el contenedor B más a la izquierda) hasta $2n$ (que contiene el contenedor A más a la derecha). Hay $2n$ espacios inicialmente vacíos a la izquierda, numerados desde $0$ hasta $-2n+1$, como muestra la Figura A.1 para $n=4$.

problem_7665_113d453aa04e914f3a265312f8ef181c.png

Figura A.1: Configuración inicial de contenedores y espacios vacíos para $n=4$

Dado $n$, encuentra una secuencia de movimientos lo más corta posible que deje todos los contenedores A a la izquierda de todos los B. Al final, el contenedor A más a la izquierda puede estar en una posición distinta de $1$, pero los contenedores deben quedar juntos en una secuencia de $2n$ posiciones adyacentes.

Entrada

La entrada consiste en un único caso de prueba, formado por el entero $n$ ($3 \le n \le 100$).

Salida

Muestra una secuencia de movimientos lo más corta posible que reordene correctamente los contenedores. Cada movimiento tiene la forma «$f$ to $t$», donde los enteros $f$ y $t$ indican que los contenedores de las posiciones $f$ y $f+1$ se mueven a las posiciones $t$ y $t+1$. Si hay varias soluciones, muestra cualquiera de ellas.

Ejemplos

Entrada 1

5

Salida 1

8 to -1
3 to 8
6 to 3
0 to 6
9 to 0

Entrada 2

8

Salida 2

10 to -1
3 to 10
14 to 3
7 to 14
0 to 7
11 to 0
4 to 11
15 to 4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.