Гексагональные тесселяции , или наклоны плоскости, имеют три цвета - это означает, что при использовании только трех цветов, таких как красный, синий и зеленый, каждый шестиугольник может быть окрашен без каких-либо двух шестиугольников, имеющих общую границу. Частичный пример, показывающий такой шаблон.
Учитывая частичное шестиугольное разбиение на листы в ASCII (через STDIN, чтение из файла и т. Д.), Измените цвета символов (с помощью кодов ANSI, обработки изображений и т. Д.), Чтобы соответствовать этой окраске. Поворот - середина шестиугольников ( *ниже) - три цвета, и линии между ними должны быть смесью их двух соответствующих *цветов гексагона . Если линия находится на внешней границе, она должна соответствовать соответствующей *.
Например, с учетом частичного шестиугольного мозаичного
/ \ / \ / \ / \
| * | * | * | * |
\ / \ / \ / \ /
| * | * | * |
\ / \ / \ /
предположим, что мы решили закрасить верхний левый гекс *красным, а два его соседа - синим и зеленым (по часовой стрелке). Тогда |линия должна быть пурпурной, а /линия - желтой. Если мы продолжим раскрашивать, мы в итоге получим что-то вроде этого (увеличено для ясности):
Или для ввода
/ \
| * |
/ \ /
| * |
/ \ /
| * |
\ /
Вы можете покрасить его так (увеличено для ясности):
Несколько дополнительных тестовых случаев (ваш код должен уметь их обрабатывать):
/ \ / \
| * | * |
\ / \ /
| * |
/ \ / \
| * | * |
\ / \ /
/ \
| * |
\ / \
| * |
/ \ /
| * |
\ /
/ \
| * |
\ /
правила
- На входе гарантированно будет хотя бы один шестиугольник, а на входе не будет «дыры».
- Вам не нужно начинать красить с красного, если вы соблюдаете правило трех цветов.
- Если частичный лист может быть двухцветным, вы можете сделать это без штрафа (как во втором примере) - вам не обязательно экстраполировать частичный лист на полный лист.
- Шестиугольные центры
*должны быть окрашены красным, синим или зеленым, а линии между ними должны быть голубым, желтым или пурпурным. Например, наличие пурпурного цвета*не допускается, а красный|или\или/должен находиться на внешней границе рисунка. Смотрите Цвета ниже. - Если ваша консоль не имеет этих точных цветов, пожалуйста, используйте ближайшее приближение и укажите в своем ответе, какое приближение вы используете.
- Начальные или конечные пробелы, включая завершающие символы новой строки, допустимы, если символы выстраиваются в линию.
- Частичная мозаика может быть введена с пробелом, чтобы сформировать прямоугольник, если это облегчает ваш код.
- Либо полная программа или функция приемлемы. Если функция, вы можете вернуть вывод, а не распечатать его.
- Вывод может быть на консоль, сохранен как изображение и т. Д.
- Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).
Цвета и цветовые смеси:
Доступны три основных цвета (с цветовыми кодами в десятичном формате RGB):
- красный
(255,0,0) - зеленый
(0,255,0) - синий
(0,0,255)
Комбинации:
- Красный и Зеленый объединяются, чтобы сделать Желтый
(255,255,0) - Синий и зеленый объединяются, чтобы сделать голубой
(0,255,255) - Красный и синий объединяются, чтобы сделать пурпурный
(255,0,255)





*