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