Nelle competizioni sportive, capita spesso che i vincitori siano presentati sul podio, con la persona al primo posto in alto al centro, la persona al secondo posto in altezza media a sinistra e la persona al terzo posto in basso e a destra. Lo ricreamo qui con alcune modifiche speciali.
I podi sono presentati di seguito:
@---@
| @ |
@---@| | |
| @ || | |
| | || | |@---@
| | || | || @ |
Questo costituirà la base per questa sfida. Il prossimo passo è rendere i podi abbastanza larghi da adattarsi alle persone (stringhe ASCII stampabili) che sono su di loro. Tuttavia, vogliamo garantire la bellezza estetica (perché questa è una fantastica opportunità fotografica), quindi ogni podio deve avere la stessa larghezza e la larghezza deve essere dispari. Inoltre, le persone vorranno (ovviamente) stare al centro del podio, quindi le corde devono essere centrate il meglio possibile. (Puoi allinearti a sinistra oa destra e non è necessario che sia coerente.) I podi sopra indicati hanno le dimensioni minime e sono considerati 3larghi.
Ad esempio, dato l'input che ["Tom", "Ann", "Sue"]rappresenta rispettivamente il primo, il secondo e il terzo posto, genera i seguenti podi:
Tom
@---@
Ann | @ |
@---@| | |
| @ || | | Sue
| | || | |@---@
| | || | || @ |
Tuttavia, se Anneinvece Annabbiamo, dovremo passare alla dimensione successiva 5e centrare le stringhe nel miglior modo possibile. Qui sto allineando, quindi la lettera "extra" di Anneè a sinistra del centro, ma puoi scegliere da quale lato allineare.
Tom
@-----@
Anne | @ |
@-----@| | |
| @ || | | Sue
| | || | |@-----@
| | || | || @ |
Andiamo per alcuni nomi più lunghi. Che ne dici di ["William", "Brad", "Eugene"]:
William
@-------@
Brad | @ |
@-------@| | |
| @ || | | Eugene
| | || | |@-------@
| | || | || @ |
Qui possiamo vedere che Bradha molto spazio bianco, Eugenemeno, e si Williamadatta perfettamente.
Per un caso di prova più lungo, che ne dici di ["A", "BC", "DEFGHIJKLMNOPQRSTUVWXYZ"]:
A
@-----------------------@
BC | @ |
@-----------------------@| | |
| @ || | | DEFGHIJKLMNOPQRSTUVWXYZ
| | || | |@-----------------------@
| | || | || @ |
Infine, abbiamo il minimo input possibile, qualcosa del tipo ["A", "B", "C"]:
A
@---@
B | @ |
@---@| | |
| @ || | | C
| | || | |@---@
| | || | || @ |
- Input e output possono essere forniti con qualsiasi metodo conveniente .
- L'input è garantito non vuoto (ovvero, non riceverai mai
""come nome). - È possibile stamparlo su STDOUT o restituirlo come risultato di una funzione.
- È accettabile un programma completo o una funzione.
- Qualsiasi quantità di spazio bianco estraneo è accettabile, purché i personaggi siano allineati in modo appropriato.
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).