(Ispirato da una prima bozza della sfida della linea frattale di PhiNotPi .)
Ti viene data una larghezza W > 1, un'altezza H > 1e una stringa costituite da 2(W+H-2)caratteri ASCII stampabili. Il compito è stampare questa stringa avvolta attorno a un rettangolo della larghezza e dell'altezza indicate, iniziando nell'angolo in alto a sinistra, in senso orario. L'interno del rettangolo è pieno di spazi. Si spera che i casi di test lo chiariscano molto.
È possibile scrivere un programma o una funzione, prendendo l'input tramite STDIN (o l'alternativa più vicina), l'argomento della riga di comando o l'argomento della funzione e stampando il risultato su STDOUT (o l'alternativa più vicina) o restituendolo come stringa.
Non ci devono essere spazi iniziali o finali (a parte quelli che potrebbero trovarsi nella stringa di input). È possibile facoltativamente generare una nuova riga finale finale.
Questo è il golf del codice, quindi vince l'invio più breve (in byte).
Casi test
Ogni caso di test è "String" W Hseguito dall'output previsto.
"Hello, World! "
5 4
Hello
,
!
dlroW
"+--+|||+--+|||"
4 5
+--+
| |
| |
| |
+--+
">v<^"
2 2
>v
^<
"rock beats scissors beats paper beats "
11 10
rock beats
s
s c
t i
a s
e s
b o
r
r s
epap staeb
Note that the following string contains an escaped '"'.
"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
46 3
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN
~ O
}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQP
Classifiche
Ecco uno snippet di stack per generare sia una classifica regolare che una panoramica dei vincitori per lingua.
Per assicurarti che la tua risposta venga visualizzata, ti preghiamo di iniziare la risposta con un titolo, usando il seguente modello Markdown:
# Language Name, N bytes
dov'è Nla dimensione del tuo invio. Se si migliora il punteggio, è possibile mantenere i vecchi punteggi nel titolo, colpendoli. Per esempio:
# Ruby, <s>104</s> <s>101</s> 96 bytes