Jones vuole fare un viaggio di andata e ritorno in bicicletta. Vuole visitare diverse città in ordine arbitrario, ma il suo percorso non deve attraversare se stesso, dal momento che odia essere nello stesso posto due volte durante le sue vacanze. Dato che ama davvero andare in bicicletta, la lunghezza del suo percorso è completamente irrilevante, ma non gli piace guidare il paesaggio senza un bersaglio. Il percorso che gli piace è dalla città in linea retta all'altro, senza alcuna deviazione.
Dato che Jones è un appassionato golfista di codici, vuole che tu trovi un programma, che pianifichi un viaggio di andata e ritorno per lui, dato un insieme di città. L'input ha il modulo A (B|C)
. A
è il nome di una città B
e C
sono le sue coordinate. Si può presumere che le coordinate siano positive e inferiori a 1000. I set di dati per le città sono separati da linee. Ecco un esempio di come potrebbe apparire un input di esempio:
SomeTown (1 | 10) ACity (3 | 4) Ovunque (7 | 7) Home (5 | 1)
Il signor Jones non è pedante, vuole solo avere un programma utile. Pertanto, puoi decidere da solo come appare l'output, purché soddisfi questi criteri:
- L'output è una mappa delle città, con il percorso tracciato tra di loro. Se qualcosa è corretto, il percorso non dovrebbe sovrapporsi e dovrebbe terminare dove è iniziato
- Le coordinate sono come nella normale programmazione: (1 | 1) è nell'angolo NO. Aggiungi una specie di righello al bordo delle mappe, per facilitarne la lettura
- I nomi delle città devono essere scritti sulla mappa, ma sentiti libero di usare abbreviazioni che sono spiegate altrove sulla mappa
- La mappa può essere sia arte ASCII che un'immagine
- Mantieni l'output leggibile
Un output potrebbe essere simile al seguente:
1234567 1 D 2 * * 3 * * 4 B * 5 * * 6 * * 7 * C 8 * ** 9 * * 10A ** A: SomeTown B: ACity C: Ovunque D: Casa
Vince il programma con il conteggio dei caratteri più piccolo. Non conto i parametri per il compilatore / interprete, se sono necessari per la compilazione, ma per favore non abusare di questa regola. Si applicano le normali regole del golf.
Ecco un altro testcase. L'output non deve corrispondere al mio, né devi scegliere lo stesso percorso per me. L'output viene disegnato a mano e mostra un output possibile. Ingresso:
casa (5 | 7) supermercato (13 | 12) parco (15 | 5) nuova piazza (9 | 16) casa degli amici (20 | 11) vecchio castello (14 | 21) lungo il fiume (1 | 20) spiaggia (10 | 1) cinema (21 | 18) foresta (23 | 7) isoletta (21 | 1) museo del code-golf (6 | 25) aeroporto (18 | 25) negozio di tè (24 | 14) ristorante (24 | 22) grande ponte (3 | 12) Edificio SO (25 | 9)
E questo è un esempio di output:
1111111111222222 1234567890123456789012345 1 H * * K 2 * * * * 3 * * * * 4 * * ** * 5 * C * 6 * * 7 AJ 8 * * 9 * Q 10 * * 11 * *** E * 12 PB *** * * 13 * * * * 14 * * * N 15 * * * * 16 * D * * 17 * * * * 18 * * I * 19 * * * * 20G * * * 21 * F * * 22 * ** * O 23 * ** * ** 24 * ** * * 25 L ** M ** Una casa B: supermercato C: parco D: nuova piazza E: casa dell'amico F: vecchio castello G: lungo il fiume H: spiaggia I: cinema J: foresta K: piccola isola L: museo del code-golf M: aeroporto N: negozio di tè O: ristorante P: grande ponte D: SO building
Non sono un madrelingua inglese. Sentiti libero di correggere la mia lingua e la mia grammatica, se necessario.