Copiado al portapapeles
Descripción
Elly quiere escribir un programa que liste todos los archivos de un directorio. Ella ya tiene la lista con los nombres, pero además de los archivos la lista contiene dos elementos especiales:
.que representa el directorio actual, y..que representa el directorio padre.
Estos dos elementos pueden estar en cualquier posición, y Elly quiere que sean los dos últimos de la lista. Para moverlos aplica estas reglas, en este orden:
Si
.y..ya son los dos últimos elementos (en cualquier orden), termina.Si no, busca el primer elemento de la lista que sea
.o..e intercámbialo con el último elemento.Si ahora
.y..son los dos últimos elementos (en cualquier orden), termina.Si no, busca otra vez el primer elemento de la lista que sea
.o..e intercámbialo con el penúltimo elemento.
El “primer” elemento es el que está más cerca del inicio de la lista. Los demás nombres solo cambian de lugar por estos intercambios.
Tu tarea es imprimir cómo queda la lista después de aplicar las reglas.
Entrada
La primera línea contiene un entero (), el número de casos de prueba.
Cada caso tiene este formato:
Una línea con un entero (), la cantidad de elementos de la lista.
líneas, cada una con un nombre: una cadena sin espacios de entre y caracteres (letras, dígitos, puntos y guiones).
Se garantiza que . y .. aparecen exactamente una vez cada uno. Otros nombres pueden repetirse o estar formados solo por puntos, como ...
Salida
Para cada caso imprime:
Una línea con
Caso:donde es el número del caso, empezando en .La lista resultante, un nombre por línea.
Imprime una línea en blanco entre dos casos consecutivos.