Dada una cadena cuadrada, produce toda la salida para la cadena en cada etapa de despliegue.
La cuerda debe desplegarse en sentido horario un cuarto de vuelta a la vez.
Ejemplos
Entrada :
A
Salida :
A
Nota : También aceptaré la entrada duplicada para este caso de prueba en particular solo si esto ayuda a reducir el recuento de bytes.
Entrada :
DC
AB
Salida :
DC
AB
D
ABC
ABCD
Entrada :
GFE
HID
ABC
Salida :
GFE
HID
ABC
HG
IF
ABCDE
IH
ABCDEFG
I
ABCDEFGH
ABCDEFGHI
Entrada :
JIHG
KPOF
LMNE
ABCD
Salida :
JIHG
KPOF
LMNE
ABCD
LKJ
MPI
NOH
ABCDEFG
NML
OPK
ABCDEFGHIJ
ON
PM
ABCDEFGHIJKL
PO
ABCDEFGHIJKLMN
P
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
Reglas
Este es el código de golf, por lo que gana el código más corto en bytes.
- Se puede usar cualquier formato razonable para E / S, suponiendo que sea coherente.
- Se deben usar espacios para rellenar las líneas superiores de la salida.
- Debe poder manejar la entrada de todos los caracteres imprimibles (incluido el espacio:
\x20
-\x7e
):
! "# $% & '() * +, -. / 0123456789:;? @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [\] ^ _` abcdefghijklmnopqrstuvwxyz {|} ~
- Se permite el espacio en blanco inicial / final.
- Puede suponer que la cadena siempre será un cuadrado.
- Todas las lagunas estándar están prohibidas.
Inspiración: escriba un programa cuadrado que genere la cantidad de veces que se ha "desenrollado" .
["A","A"]
para"A"
, como mi programa hace (en lugar de["A"]
)? Me parece razonable ya que son solo las posiciones inicial y final, y solo intentas desplegarlo una vez.