I bilancieri nella mia palestra sembrano così:
=========[]-----------------------[]=========
Possono contenere piatti di cinque dimensioni diverse, 2,5 libbre, cinque libbre, dieci libbre, 25 libbre e 45 libbre:
.
. ! |
. ! | | |
| | | | |
' ! | | |
' ! |
'
Per sicurezza, aggiungiamo anche una clip ]o [all'esterno di tutte le nostre piastre se ce ne sono. Il bar stesso pesa 45 chili. Mettiamo sempre le piastre più pesanti più vicine al centro, senza spazi vuoti tra le piastre, e mettiamo piastre identiche su entrambi i lati. Usiamo sempre anche il numero minimo di piatti possibile, ad esempio non usiamo mai due piatti da cinque libbre su un lato invece di un singolo piatto da dieci libbre. Quindi, se voglio sollevare £ 215, il mio bar si presenta così:
. .
.!| |!.
!||| |||!
====]||||[]-----------------------[]||||[====
!||| |||!
'!| |!'
' '
Il tuo codice, una funzione o un programma completo, deve prendere un numero intero compreso tra 45 e 575, sempre un multiplo di 5, e generare la barra che si aggiunge a quel peso. Per esempio:
Ingresso: 45
Output (nota che non ci sono clip su una barra vuota):
=========[]-----------------------[]=========
Ingresso: 100
Produzione:
! !
.| |.
======]||[]-----------------------[]||[======
'| |'
! !
Ingresso: 575
Produzione:
..... .....
.!||||| |||||!.
!||||||| |||||||!
]||||||||[]-----------------------[]||||||||[
!||||||| |||||||!
'!||||| |||||!'
''''' '''''
Puoi avere spazi finali su ogni riga o meno, ma il tuo output non può avere linee vuote iniziali o finali (l'output per 45 dovrebbe essere una riga, per 50 dovrebbe essere tre righe, per 65 dovrebbe essere cinque righe e così via).
Questo è il codice golf, il codice più corto vince!
print?