Sześciokątne teselacje lub nachylenia płaszczyzny są trójkolorowe - co oznacza, że przy użyciu tylko trzech kolorów, takich jak czerwony, niebieski i zielony, każdy sześciokąt można pokolorować bez żadnych dwóch sześciokątów, które mają wspólną granicę. Częściowy przykład pokazujący taki wzór.
Biorąc pod uwagę częściowe kafelkowanie heksagonalne w ASCII (przez STDIN, czytanie z pliku itp.), Zmień kolory znaków (za pomocą kodów ANSI, manipulacji obrazem itp.), Aby pasowały do tego koloru. Skręt jest środkiem sześciokątów ( *
poniżej) to trzy kolory, a linie między nimi muszą być mieszanką dwóch odpowiadających im *
kolorów heksa . Jeśli linia znajduje się na zewnętrznej granicy, powinna pasować do odpowiedniej *
.
Na przykład, biorąc pod uwagę częściowe sześciokątne układanie płytek
/ \ / \ / \ / \
| * | * | * | * |
\ / \ / \ / \ /
| * | * | * |
\ / \ / \ /
przypuśćmy, że zdecydujemy się pokolorować lewy górny heks *
na Czerwony, a jego dwóch sąsiadów na Niebieski i Zielony (zgodnie z ruchem wskazówek zegara). Następnie |
linia musi być Magenta, a /
linia żółta. Jeśli nadal będziemy kolorować, w końcu otrzymamy coś takiego (powiększonego dla przejrzystości):
Lub, dla wejścia
/ \
| * |
/ \ /
| * |
/ \ /
| * |
\ /
możesz go tak pokolorować (powiększony dla przejrzystości):
Kilka dodatkowych przypadków testowych (twój kod powinien być w stanie obsłużyć te):
/ \ / \
| * | * |
\ / \ /
| * |
/ \ / \
| * | * |
\ / \ /
/ \
| * |
\ / \
| * |
/ \ /
| * |
\ /
/ \
| * |
\ /
Zasady
- Gwarantowane wejście ma co najmniej jeden sześciokąt i żadne wejście nie będzie miało „dziury”.
- Nie musisz rozpoczynać kolorowania od czerwonego, o ile zachowasz zasadę trzech kolorów.
- Jeśli częściowe kafelki mogą być dwukolorowe, możesz to zrobić bez kary (tak jak w drugim przykładzie) - niekoniecznie musisz ekstrapolować częściowe kafelki na pełne kafelki.
- Centra sześciokąta
*
muszą być zabarwione na czerwono, niebiesko lub zielono, natomiast linie między nimi muszą mieć kolor cyjan, żółty lub purpurowy. Na przykład posiadanie karmazynu*
jest niedozwolone, a czerwony|
lub\
lub/
musi znajdować się na zewnętrznej granicy rysunku. Zobacz Kolory poniżej. - Jeśli twoja konsola nie ma tych dokładnych kolorów, użyj najbliższego przybliżenia i podaj w odpowiedzi, jakiego przybliżenia używasz.
- Dopuszczalne lub końcowe białe spacje, w tym końcowe znaki nowej linii, są dopuszczalne, o ile znaki są w linii.
- Częściowe kafelkowanie można wprowadzić za pomocą spacji, aby utworzyć prostokąt, jeśli ułatwi to kodowi.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Dane wyjściowe mogą być wysyłane do konsoli, zapisane jako obraz itp.
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
Kolory i mieszanki kolorów:
Trzy dostępne kolory podstawowe to (z kodami kolorów w formacie dziesiętnym RGB):
- Czerwony
(255,0,0)
- Zielony
(0,255,0)
- niebieski
(0,0,255)
Kombinacje to:
- Czerwony i zielony łączą się, tworząc żółty
(255,255,0)
- Niebieski i zielony łączą się, tworząc Cyan
(0,255,255)
- Czerwony i niebieski tworzą magenta
(255,0,255)
*