Questa sfida si svolge su una griglia.
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
Questo è 10 x 10, ma può avere qualsiasi forma rettangolare.
Ci sono quattro direzioni su questa griglia. Su, giù, sinistra e destra.
Il compito è di tracciare un percorso che inizi con una direzione maiuscola iniziale. In questo esempio, andrà direttamente verso l'alto dalla U.
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| U |
+----------+
Il percorso andrà verso l'alto e sarà composto da caratteri full-stop (.), Fino a quando non raggiungerà un muro, quando terminerà con un asterisco (*).
+----------+
| * |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| U |
+----------+
Oltre agli inizi del percorso, ci sono anche i cambi di direzione, rappresentati da una iniziale in minuscolo.
+----------+
| |
| |
| |
| r.....*|
| . |
| . |
| . |
| . |
| U |
+----------+
Inoltre, una X maiuscola ci rappresenta un ostacolo che interromperà il percorso.
+----------+
| |
| |
| |
| |
| r...*X |
| . |
| . |
| . |
| U |
+----------+
Regole
- L'input è una stringa costituita da un frame (composto da |, - e + caratteri) contenente caratteri che indicano l'inizio del percorso, i cambi di direzione e gli ostacoli.
- Il tuo codice dovrebbe aggiungere caratteri di arresto per seguire il percorso descritto dai cambi di inizio e direzione e un asterisco quando / se il percorso incontra un muro o un ostacolo.
- Possono esserci più inizi di percorso.
- Il codice verrà comunque terminato senza errori se il percorso descrive un ciclo.
- Se un percorso incontra un inizio percorso, fungerà da cambia direzione.
- Si tratta di code golf, codice a byte basso e nessuna scappatoia standard, per favore.
- Preferisco sempre i collegamenti a un interprete online.
Casi test
1: semplice
+----------+
| |
| |
| |
| |
| |
| |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| U |
+----------+
2: svolta a destra
+----------+
| |
| |
| |
| r |
| |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| r.....*|
| . |
| . |
| . |
| . |
| U |
+----------+
3: incrocio
+----------+
| |
| |
| |
| r d |
| |
| u l |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| . r..d |
| . . . |
| u....l |
| . |
| . |
| U |
+----------+
4: 4 Percorsi di attraversamento
+----------+
| D |
| |
| |
|R |
| |
| L|
| |
| |
| U |
+----------+
+----------+
| * D |
| . . |
| . . |
|R........*|
| . . |
|*........L|
| . . |
| . . |
| U * |
+----------+
5: primo loop
+----------+
| |
| |
| |
| r d |
| |
| u l |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| r..d |
| . . |
| u..l |
| . |
| . |
| U |
+----------+
6: Starter come commutatore
+----------+
| |
| |
| |
| L |
| |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
|*..L |
| . |
| . |
| . |
| . |
| U |
+----------+
7: Straight Loop
+----------+
| |
| |
| |
| |
| r l |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| |
| r..l |
| . |
| . |
| . |
| U |
+----------+
8: nodo stretto
+----------+
| |
| |
| |
| d l |
| r u |
| r u |
| |
| |
| U |
+----------+
+----------+
| * |
| . |
| . |
| d..l |
| .r.u |
| r.u |
| . |
| . |
| U |
+----------+
9: un ostacolo
+----------+
| |
| |
| |
| |
| r X |
| |
| |
| |
| U |
+----------+
+----------+
| |
| |
| |
| |
| r...*X |
| . |
| . |
| . |
| U |
+----------+
10: forma a S.
+----------+
|r d |
| |
| XXXXXXXX|
| d l |
|ul |
|XXXXXXX |
| |
|R u |
| |
+----------+
+----------+
|r.....d |
|. * |
|. XXXXXXXX|
|.d......l |
|ul . |
|XXXXXXX . |
| . |
|R.......u |
| |
+----------+
11: nodo a 4 vie
+----------+
| D |
| |
| r |
|R d |
| |
| u L|
| l |
| |
| U |
+----------+
+----------+
| * D |
| . . |
| r.....*|
|R....d. |
| .... |
| .u....L|
|*.....l |
| . . |
| U * |
+----------+
12: svincoli occupati
+----------+
|rrrrr rrrd|
| rlrl |
|ul rrd |
|ruX X |
|udl ll |
|ull |
|rlr |
|rdr d |
|Uruull |
+----------+
+----------+
|rrrrr.rrrd|
|.rlrl .|
|ul rrd .|
|ruX.X. .|
|udl.ll .|
|ull. .|
|rlr. .|
|rdr..d .|
|Uruull *|
+----------+
13: inizia a Edge
+----------+
| U |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
+----------+
| U |
| |
| |
| |
| |
| |
| |
| |
| |
+----------+
14: Crossing Dead Paths
+----------+
| |
| |
| |
| R |
| |
| |
| |
| |
| U|
+----------+
+----------+
| *|
| .|
| .|
| R..*|
| .|
| .|
| .|
| .|
| U|
+----------+