Il tuo compito è costruire un programma che identifichi la forma dell'input. Le forme da identificare possono essere le seguenti:
Piazza
Per essere identificato come un quadrato, l'origine deve avere linee di uguale lunghezza e lo stesso numero di righe dei caratteri per riga (esclusi i caratteri di nuova riga). Una nuova riga finale facoltativa è accettabile.
$_='
$_="
$_"'
;say
Rettangolo
Per essere identificato come un rettangolo, l'origine deve avere linee di uguale lunghezza, ma il numero di righe non corrisponde al numero di caratteri per riga (esclusi i caratteri di nuova riga). Una nuova riga finale facoltativa è accettabile. Questo può essere orizzontale o verticale.
$_=
"no
t a
squ
are
";#
$_="but it
is still a
consistent
shape!";##
Triangolo
Per essere identificato come un triangolo, l'origine deve iniziare con un carattere e ogni riga successiva deve avere un carattere aggiuntivo (incluso l'ultimo) oppure, dopo la prima riga, ogni riga successiva deve avere un carattere in meno fino all'ultimo, che ne ha solo uno.
$
_=
"So
this
"."".
shape;
$_="or
even,
this
way
!!
"
pasticcio
Tutto ciò che non segue un formato coerente come sopra, deve essere identificato come un disastro.
Regole
- È possibile restituire quattro valori di stampa coerenti per identificare ciascuna forma.
- Il tuo codice sorgente deve anche aderire a una delle forme sopra (no, non un casino).
- È accettabile una nuova riga finale finale nella tua fonte.
- Si può presumere che l'input non contenga righe vuote (comprese le nuove righe finali), non sia vuoto e non sia costituito solo da nuove righe.
- Tutte le forme devono avere un'altezza e una larghezza di> = 2, altrimenti viene definita un disastro.
- Sono vietate le scappatoie standard.
- Vince la soluzione più breve in byte, in ogni lingua.
All shapes must have a height and width of >= 2.
['abc','cfd','fgh']
?