Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Имеется прямоугольное ASCII-изображение цифровой схемы, состоящей из логических элементов и связывающих их проводов.
Логические элементы представлены как прямоугольные области, обрамленные рамкой из символов '#' (ASCII 35).
Внутри каждой рамки обязательно содержится описание из цифр и строчных символов латинского алфавита.
Описание может быть разбито на части, разделенные пробелами либо разнесенные по разным строкам.
Провода обозначены в виде последовательностей из символов '.' (ASCII 46).
Оставшееся свободное пространство схемы заполнено пробелами.
Рамки никаких двух элементов не могут стыковаться между собой (между ними всегда имеется зазор).
Провода могут стыковаться между собой только под углом в 90 ∘ .
Параллельные провода не могут идти вплотную друг к другу (между ними всегда имеется зазор).
Элемент считается подключенным к проводу, если их символы
стыкуются в вертикальном либо горизонтальном направлении.
Провод не может пройти через занятую элементом область.
Шина это набор связанных между собой проводов.
На заданном изображении требуется выделить набор логических элементов и связанных с ними шин.
Входные данные содержат ASCII-изображение.
Выходные данные должны содержать количество логических элементов N,
за которым следует N строк, содержащих описание одного элемента в каждой строке.
Части описания должны быть разделены пробелами.
Порядок элементов в списке должен соответствовать порядку,
в котором они встречаются на исходном изображении
при его обходе построчно от левого верхнего угла.
Далее указывается число шин M, за которым следуют наборы
подключенных к ним элементов.
В начале каждого набора указывается число его элементов,
затем следуют их номера
(начиная с нуля).
Общее количество символов изображения не превосходит 106.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|