eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Коридор Каир

Коридор Каир

Пентагональная плитка Каира представляет собой разбиение плоскости с использованием полуправильных пятиугольников. Такое название плитка получила потому что несколько улиц в Каире вымощены с использованием такого дизайна.

Рассмотрим конечную укладку, где каждый пятиугольник либо пустой (белый), либо заполненный (серый). Коридор - это максимальный набор пустых смежных пятиугольников, которые соединяют четыре границы плитки. Пятиугольники считаются смежными, если они имеют общую сторону, а не только угол. Нетрудно убедиться, что в каждой укладке может быть не более одного коридора. Говорят, что коридор минимален, если у него нет лишнего пятиугольника, то есть если какой-либо пятиугольник коридора заполнить, то набор оставшихся пятиугольников уже не будет коридором.

prb7938.gif

На рисунке вверху изображены четыре примера укладки плитки. В первых трех случаях имеется коридор, который выделен желтым цветом. Кроме того, коридоры (а) и (б) минимальны, но на рисунке (с) нет: например, плитки отмеченные символом Х, могут быть заполнены и коридор все еще будет существовать. В самой правой укладке нет коридора. Рисунки (а) и (с) соответствуют первому примеру.

Напишите программу, которая прочитает текстовые описания укладки плитки, и для каждого из них определит, существует ли коридор и является ли он минимальным. В последнем случае программа должна вычислить размер коридора, то есть количество пустых пентагональных плит в коридоре.

Входные данные

Первая строка содержит количество укладок t (1t10). Первая строка каждой укладки содержит два натуральных числа nk и mk (1n1 + n2 + ... + nt250 - общее число строк, 1m1 + m2 + ... + mt250 - общее число пар плиток). Каждая из следующих nk строк содержит 2 * mk цифр описывающих пары aij, bij плит (0 - пусто и 1 - заполнено) в чередующемся горизонтальном / вертикальном порядке по шаблону "шахматной доски»" как показано на рисунке ниже.

prb7938_1.gif

Выходные данные

Выведите t строк; k-ая строка должна содержать размер коридора k-ой укладки если минимальный коридор существует, и NO MINIMAL CORRIDOR иначе.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
2
6 6
010101001001
001000101100
110101001101
010010000100
001110110010
001001101010
6 6
010010110010
001100100111
000110100101
011001100101
100100011100
011010001101
Вихідні дані #1
17
NO MINIMAL CORRIDOR
Вхідні дані #2
1
3 4
11110111
01000000
11110111
Вихідні дані #2
9
Джерело 2016 ACM Southwestern Europe Regional Contest (SWERC), Задача G