Фон
Tatamibari - логическая головоломка, разработанная Николи.
Tatamibari головоломка играет на прямоугольной сетке с тремя различными видами символов в нем: +
, -
. и |
. Решатель должен разбить сетку на прямоугольные или квадратные области в соответствии со следующими правилами:
- Каждый раздел должен содержать ровно один символ.
+
Символ должен содержаться в квадрате.|
Символ должен содержаться в виде прямоугольника с высотой , большей шириной.-
Символ должен содержаться в виде прямоугольника с шириной большей , чем высота.- Четыре пьесы никогда не могут использовать один и тот же угол. (Вот как обычно размещаются японские плитки татами.)
Ниже приведен пример головоломки с решением:
задача
Решите данную головоломку татамибари.
Ввод, вывод
Вход представляет собой двумерную сетку, которая представляет заданную головоломку Tatamibari. Каждая ячейка содержит один из четырех символов: +
, -
, |
, и характер вашего выбора , чтобы представить без подсказки клетки. В тестовых случаях используется звездочка *
.
Вы можете выбрать любой подходящий выходной формат, который может однозначно представлять любое правильное решение головоломки Tatamibari. Это включает, но не ограничивается: (если сомневаетесь, спрашивайте в комментариях.)
- Список из 4 кортежей, где каждый кортеж включает верхний индекс, левый индекс, ширину и высоту прямоугольника (или любое эквивалентное представление)
- Числовая сетка той же формы, что и входные данные, где каждое число представляет прямоугольник
- Список наборов координат, где каждый набор включает в себя все координаты ячеек в прямоугольнике
Если у головоломки есть несколько решений, вы можете вывести любое число (одно или несколько) ее действительных решений. У входа гарантированно есть хотя бы одно решение.
Контрольные примеры
Puzzle:
|-*
*+|
*-*
Solution:
122
134
554
=====
Puzzle:
+***
**|*
*+**
***-
Solution:
1122
1122
3322
3344
======
Puzzle:
|*+*+
*****
****-
***+|
+****
Solution:
12233
12233
44444
55667
55667
=======
Puzzle:
****-**
**-**|*
*|*****
****-**
*******
**+*|**
*****+*
One possible solution:
1122222
1133344
1155544
1155544
6667744
6667788
6667788
===========
Puzzle:
*-****|+**
+*-******|
****+*****
*-******||
**++|*****
+****-|***
-****-**+*
********-*
|*+*+|****
*-*--**+*+
Solution:
1111122334
5666622334
7777822994
7777A2299B
CCDEA2299B
CCFFFFGGHH
IIIIJJGGHH
KLLMMNGGOO
KLLMMNGGPP
QQRRSSSTPP
правила
Применяются стандартные правила игры в гольф . Самый короткий код в байтах побеждает.
источник