introduzione
Questo è abbastanza semplice. Disegneremo un serpente in ascii. Questo è stato ispirato da quel vecchio gioco del serpente in cui devi raccogliere i frutti e crescere continuamente.
Definizione
Dato un intero positivo N che rappresenta la lunghezza del serpente, disegna un serpente in modo che abbia un corpo di n più una testa e una coda.
Parti:
- testa:
<, >, ^, v
- coda:
@
- verticale:
|
- horizonal:
-
Tutti gli angoli dovrebbero essere soddisfatti con un \
o /
rispettivamente. A meno che la testa non finisca in un angolo, nel qual caso la testa <, >, ^, v
ha la priorità nella direzione in cui il serpente è arricciato. vale a dire per l'esempio della lunghezza 1, viene ruotato in senso antiorario e quindi la testa viene ruotata in quel modo. Per una soluzione in senso orario sarebbe a destra >
.
Il serpente deve iniziare nel mezzo con la coda, ma può andare verso l'esterno in qualsiasi direzione scegliate in senso orario o antiorario. Deve anche avvolgersi strettamente su se stesso mentre si espande verso l'esterno in modo circolare.
Esempio
/--\
|/\|
||@|
|\-/
\--->
Dove @
è la coda e la posizione di partenza. Come visto sopra la coda inizia nel mezzo, sale verso sinistra con una rotazione in senso antiorario verso l'esterno.
Qui la lunghezza è 19
più una coda e una testa.
Come altro esempio, ecco la lunghezza 1
:
<\
@
vincente
Si tratta di code-golf, quindi vince la risposta che viene inviata con il minor numero di byte, con il tempo da utilizzare come pareggio.
Divertiti!
@
è il mezzo (è possibile aggiungere degli spazi per renderlo tale), dichiarare "a destra" come direzione e fare in modo che la testa sia rivolta verso il basso e dichiararla in senso orario. I termini possono sembrarti chiari, ma in realtà sono ambigui. Mi rendo conto che probabilmente intendi un serpente a spirale il più strettamente possibile, ma dovresti chiarirlo
@---->
. Probabilmente intendi condizioni più rigide sulla forma del serpente. Inoltre chiarisci quanto spazio bianco è o non è permesso