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

Автоматический Сборщик

Автоматический Сборщик

Одно высоконаучное химическое учреждение активно экспериментирует с Автоматическим Сборщиком Молекул. Молекулы, между которыми возможно образование химических связей, перемешивают и помещают в АСМ, где они образуют сложные молекулярные структуры. Однако иногда возникает проблема --- молекулы образуют такую большую группу, что Сборщик заедает. Напишите программу, которая будет определять, может ли предоставленный набор молекул собираться в структуры неограниченного размера. При этом 1) задача ограничена плоскими структурами и 2) каждая молекула имеет вид квадрата, все молекулы имеют одинаковый размер. Четыре стороны квадрата обозначают поверхности, которыми молекулы могут соединяться с совместимыми молекулами. В каждом тесте вам будет представлен набор описаний молекул. Каждый тип молекулы описывается четырьмя парами символов --- метками связей, которые обозначают возможность соответствующей поверхности молекулы соединяться с другими молекулами. Существует два вида меток связей: \begin{itemize} \item Заглавная латинская буква (\textbf{A..Z}) и один из символов \textbf{+} или \textbf{-}. Две поверхности могут соединяться, если их метки связей обозначены одинаковыми буквами, но различными знаками. Например, \textbf{A+} совместима с \textbf{A-}, но не совместима с A+ и \textbf{B-}. \item Два нуля \textbf{00}. Метка связи \textbf{00} означает, что эта поверхность не может образовывать связь (даже с такой же поверхностью с меткой \textbf{00}). \end{itemize} Предположим, что в Сборщике имеется неограниченное количество молекул каждого из описанных видов, которые можно поворачивать и переворачивать. При образовании молекулярных структур молекулы могут находиться рядом только, если они совместимы. Каждая поверхность молекулы при этом может быть соединена с ничем. Рисунок показывает пример молекул трех видов и структуры ограниченного размера, собранной из них (это не единственная возможная структура для заданных типов молекул). \includegraphics{https://static.e-olymp.com/content/0b/0bd557d3edc18dd7520178f152e0ab8d45982fa6.jpg} \textit{\textbf{Рисунок 1}}: Иллюстрация примера 1. \InputFile Входные данные состоят из одного теста. Каждый тест состоит из двух строк. Первая строка содержит число \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{40000}) --- количества типов молекул. Вторая строка содержит \textbf{n} подстрок по \textbf{8} символов каждая --- описание каждого вида молекул, причем поверхности описываются по часовой стрелке. \OutputFile Выведите слово \textbf{unbounded}, если молекулы могут создать бесконечную структуру и слово \textbf{bounded} в противном случае.
Лимит времени 3 секунды
Лимит использования памяти 256 MiB
Входные данные #1
3
A+00A+A+ 00B+D+A- B-C+00C+
Выходные данные #1
bounded
Источник ACM-ICPC World Finals 2013