printРабочее место участника

printЗадачи

1568. Сейф Карбофоса

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

В игре "Братья Пилоты" для выхода из комнаты Карбофоса необходимо открыть сейф странной конструкции. На дверце сейфа квадратом 4x4 расположены шестнадцать ручек, которые могут находиться только в горизонтальном и вертикальном положении. При повороте ручки на 90 градусов одновременно с ней поворачиваются ручки, расположенные в той же самой горизонтали и вертикали, что и поворачиваемая ручка. Например, при повороте ручки во 2 ряду 3 столбце получим следующий результат:
 до          после
||--         |||-
|--|         -||-
---|         --||
|||-         ||--
Для того чтобы открыть сейф, нужно чтобы все ручки приняли горизонтальное положение.
Входной файл содержит в первой строке число `N` (`1\ ≤\ N\ ≤\ 20`) – количество наборов данных, далее следует `N` наборов (начальных комбинаций), разделенных пустой строкой, каждый набор представляет собой 4 строки по 4 символа | или - (начальное состояние ручек).
В выходной файл для каждого набора, если сейф можно открыть, вывести YES и через пробел минимальное число ручек, поворачиваваемых для открытия сейфа, или NO в противном случае.

Пример ввода

2
--|-
||||
--|-
--|-

--||
----
----
----

Пример вывода

YES 1
YES 6
loading