Data una stringa quadrata, produce tutto l'output per la stringa in ogni fase di dispiegamento.
La stringa deve svolgersi in senso orario di un quarto di giro alla volta.
Esempi
Input :
A
Uscita :
A
Nota : accetterò anche l'input duplicato per questo particolare test case solo se questo aiuta a ridurre il conteggio dei byte.
Input :
DC
AB
Uscita :
DC
AB
D
ABC
ABCD
Input :
GFE
HID
ABC
Uscita :
GFE
HID
ABC
HG
IF
ABCDE
IH
ABCDEFG
I
ABCDEFGH
ABCDEFGHI
Input :
JIHG
KPOF
LMNE
ABCD
Uscita :
JIHG
KPOF
LMNE
ABCD
LKJ
MPI
NOH
ABCDEFG
NML
OPK
ABCDEFGHIJ
ON
PM
ABCDEFGHIJKL
PO
ABCDEFGHIJKLMN
P
ABCDEFGHIJKLMNO
ABCDEFGHIJKLMNOP
Regole
Questo è code-golf quindi vince il codice più breve in byte.
- È possibile utilizzare qualsiasi formato ragionevole per l'I / O presupponendo che sia coerente.
- Gli spazi devono essere utilizzati per riempire le linee superiori dell'output.
- Deve essere in grado di gestire l'input di tutti i caratteri stampabili (incluso lo spazio:
\x20
-\x7e
):
!.? "# $% & '() * +, - / 0123456789:; @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [\] ^ _` abcdefghijklmnopqrstuvwxyz {|} ~
- Sono ammessi spazi iniziali / finali.
- Puoi presumere che la stringa sarà sempre un quadrato.
- Sono vietate tutte le scappatoie standard .
Ispirazione: Scrivi un programma quadrato che emetta il numero di volte che è stato "srotolato" .
["A","A"]
per"A"
, come il mio programma fa (al posto di["A"]
)? Mi sembra ragionevole dato che sono solo le posizioni iniziale e finale, e tu provi a spiegarlo solo una volta.