Sechseckige Tessellationen oder Kacheln der Ebene sind dreifarbig. Das bedeutet, dass mit nur drei Farben wie Rot, Blau und Grün jedes Sechseck gefärbt werden kann, ohne dass zwei Sechsecke eine Farbe gemeinsam haben. Ein Teilbeispiel, das ein solches Muster zeigt.
Ändern Sie bei einer teilweisen hexagonalen Kachelung in ASCII (über STDIN, Lesen aus einer Datei usw.) die Farben der Zeichen (über ANSI-Codes, Bildmanipulation usw.), um sie an diese Farbgebung anzupassen. Die Verdrehung ist die Mitte der Sechsecke (die *
, unten) sind die drei Farben, und die Linien zwischen müssen eine Mischung aus den *
Farben der beiden entsprechenden Sechsecke sein . Befindet sich die Linie am äußeren Rand, sollte sie mit der entsprechenden übereinstimmen *
.
Zum Beispiel angesichts der teilweisen hexagonalen Kacheln von
/ \ / \ / \ / \
| * | * | * | * |
\ / \ / \ / \ /
| * | * | * |
\ / \ / \ /
Nehmen wir an, wir färben das linke obere Feld *
rot und die beiden Nachbarn blau und grün (im Uhrzeigersinn). Dann muss die |
Linie Magenta und die /
Linie Gelb sein. Wenn wir weiter färben, erhalten wir irgendwann so etwas (der Klarheit halber vergrößert):
Oder für eine Eingabe von
/ \
| * |
/ \ /
| * |
/ \ /
| * |
\ /
Sie könnten es so einfärben (zur Verdeutlichung vergrößert):
Einige zusätzliche Testfälle (Ihr Code sollte in der Lage sein, diese zu verarbeiten):
/ \ / \
| * | * |
\ / \ /
| * |
/ \ / \
| * | * |
\ / \ /
/ \
| * |
\ / \
| * |
/ \ /
| * |
\ /
/ \
| * |
\ /
Regeln
- Der Eingang hat garantiert mindestens ein Sechseck und kein Eingang hat ein "Loch".
- Sie müssen Ihre Färbung nicht mit Rot beginnen, solange Sie die Dreifarbenregel einhalten.
- Wenn die teilweise Kachelung zweifarbig sein kann, können Sie dies ohne Nachteile tun (wie im zweiten Beispiel) - Sie müssen die teilweise Kachelung nicht unbedingt auf eine vollständige Kachelung extrapolieren.
- Die Sechskantmitten
*
müssen entweder rot, blau oder grün gefärbt sein, während die Linien zwischen Cyan, Gelb oder Magenta sein müssen. Ein Magenta*
ist beispielsweise nicht zulässig, und ein Rot|
oder\
oder/
muss sich am äußeren Rand der Zeichnung befinden. Siehe Farben unten. - Wenn Ihre Konsole nicht über genau diese Farben verfügt, verwenden Sie bitte die genaueste Annäherung und geben Sie in Ihrer Antwort an, welche Annäherung Sie verwenden.
- Führende oder nachfolgende Leerzeichen, einschließlich nachfolgender Zeilenumbrüche, sind zulässig, solange die Zeichen in einer Reihe stehen.
- Die teilweise Kachelung kann mit Leerzeichen als Rechteck eingegeben werden, wenn dies für Ihren Code einfacher ist.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Die Ausgabe kann auf der Konsole erfolgen, als Bild usw. gespeichert werden.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
Farben und Farbmischungen:
Die drei verfügbaren Grundfarben sind (mit Farbcodes im RGB-Dezimalformat):
- rot
(255,0,0)
- Grün
(0,255,0)
- Blau
(0,0,255)
Die Kombinationen sind:
- Rot und Grün ergeben zusammen Gelb
(255,255,0)
- Blau und Grün ergeben zusammen Cyan
(0,255,255)
- Rot und Blau ergeben zusammen Magenta
(255,0,255)
*