Dato il numero di vertici n ≥ 3
e la "dimensione del gradino" 1 ≤ m < n/2
(che indica la distanza tra due vertici collegati), emette una rappresentazione grafica del corrispondente poligrafo regolare . Se il poligrafo è costituito da più anelli chiusi, ogni ciclo deve essere reso con un colore di linea diverso. (Se questo sembra confuso, gli esempi seguenti dovrebbero sperare di chiarire le cose.)
Regole
Qualsiasi soluzione ragionevole al problema probabilmente soddisferà automaticamente queste regole: sono lì solo per mettere alcuni vincoli sui parametri dell'output al fine di prevenire risposte come "Questo blocco nero è totalmente un poligrafo, ma non puoi vederlo perché Ho impostato la larghezza della linea su oltre 9000. "
- È possibile eseguire il rendering del poligrafo in un file (che può essere scritto su disco o nel flusso di output standard) o visualizzarlo sullo schermo.
- È possibile utilizzare grafica vettoriale o raster. Se l'output è rasterizzato, l'immagine deve avere dimensioni pari o superiori a 400x400 pixel e il raggio del poligrafo (la distanza dal centro a ciascun vertice) deve essere compreso tra il 35% e il 50% della lunghezza laterale.
- Le proporzioni del poligrafo devono essere 1 (in modo che i suoi vertici si trovino su un cerchio adeguato) - la tela dell'immagine può essere rettangolare.
- Le linee del poligrafo non devono essere più spesse del 5% del raggio (e ovviamente devono avere uno spessore diverso da zero per essere visibili).
- È possibile eseguire il rendering degli assi o di una cornice oltre al poligrafo, ma nient'altro.
- Puoi scegliere qualsiasi colore di sfondo (solido).
- Per i polgrammi costituiti da più anelli chiusi, è necessario supportare almeno 6 colori visivamente distinti , i quali devono essere diversi dallo sfondo. (La scala dei grigi va bene, a condizione che le sfumature siano sufficientemente distribuite attraverso lo spettro.) Il codice deve ancora funzionare per più di 6 loop, ma i colori non devono essere distinguibili per eventuali loop aggiuntivi (vale a dire che puoi anche riutilizzarli colori dai precedenti loop in quel punto).
Questo è il golf del codice, quindi vince la risposta più breve (in byte).
Esempi
Ecco tutti gli output fino a n = 16
(dove corrisponde la colonna n
e la riga a m
):
Clicca per una versione più grande.
Come esempi per i più grandi n
, qui ci sono (n, m) = (29, 11)
e (30, 12)
: