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

printЗадачи

1998. Восстановление схемы

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

Для музея компьютерной техники необходимо восстановить схему старого вычислительного устройства по его изображению.
На изображении площадки для размещения элементов обозначены прописными буквами латинского алфавита. Площадки имеют прямоугольную форму, разные площадки имеют разное буквенное обозначение. Контакты обозначаются цифрами от 1 до 9. Контакты имеют одну общую сторону с соответствующей площадкой и не имеют общих сторон с другими контактами. Номера контактов для одной площадки не повторяются. Проводник, ведущий горизонтально, обозначен символом '-' (минус), а проводник, ведущий вертикально, символом '|'. Места соединения и поворотов проводников на `90^o` обозначены символом '*'. Кроме '*', местом соединения проводников является любой контакт. Символ '+' обозначает прохождение проводников друг над другом без соединения. Проводники соединяют два или более контактов.
Первая строка ввода содержит два целых числа — размеры изображения схемы `N` (`1\ ≤\ N,\ M\ ≤\ 100`). Далее следует `N` строк, содержащих по `M` указанных выше символов.
Вывести информацию по соединениям. Каждая строка должна содержать информацию о всех контактах, соединенных между собой проводниками. Контакты внутри строки должны быть упорядочены в лексикографическом порядке. Строки также должны быть выведены в лексикографическом порядке.

Пример ввода

6 10
.*-------2
.|.......B
.1..*---1B
.A2-+-*..B
.3..1.*-3B
.*3CC2*...

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

A1 B2
A2 B3 C2
A3 C3
B1 C1
loading