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

Распределение каналов

Распределение каналов

Когда радиостанция ведёт вещание на большой территории, для того, чтобы каждый слушатель имел сильный сигнал, используют ретрансляторы. Тем не менее, каналы для каждого ретранслятора должны быть тщательно подобраны, чтобы соседние ретрансляторы не мешали друг другу, а это возможно только тогда, когда соседние ретрансляторы используют разные каналы. Так как радиочастотный спектр является ценным ресурсом, то число каналов для заданной сети нужно минимизировать. Вы должны написать программу, которая считывает описание сети ретрансляторов и определяет количество каналов, которое необходимо для этой сети. \InputFile Входные данные содержат описание нескольких сетей. Каждое описание начинается строкой, содержащей количество ретрансляторов в сети -- число от \textbf{1} до \textbf{26}. Все ретрансляторы обозначаются большими латинскими буквами. Например, если в сети десять ретрансляторов, то они имеют обозначение -- \textbf{A}, \textbf{B}, \textbf{C}, .., \textbf{I}, \textbf{J. }Входные данные заканчиваются сетью, котороя не содержит ретрансляторов. Эту сеть обрабатывать не нужно. После количества ретрансляторов идёт список смежных ретрансляторов. Каждая строка имеет вид: \textbf{A:BCDH} Описание показывает, что ретрансляторы \textbf{B}, \textbf{C}, \textbf{D}, \textbf{H} граничат с ретранслятором\textbf{ A}. Первая строка описывает ретрансляторы, смежные с \textbf{A}, вторая строка описывает ретрансляторы, смежные с \textbf{B }и т.д. Если ретранслятор не имеет смежных, то он описан как: \textbf{A:} Все ретрансляторы заданы в алфавитном порядке. Если \textbf{A }граничит с \textbf{B}, то \textbf{B} обязательно граничит с \textbf{A}. Кроме того, так как ретрансляторы расположены в одной плоскости, то граф, образованный путём объединения соседних ретрансляторов, не имеет пересекающихся рёбер. \OutputFile Для каждого описания сети (за исключением последней, которая не обрабатывается), виведите единственнйю строку, содержащую минимальное количество каналов, которые необходимо иметь, чтобы соседние каналы не мешали друг другу. Формат строки приведён в примере выходных данных. Позаботьтесь о том, чтобы грамматически верно вывести сообщение, когда канал всего один.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
2
A:
B:
4
A:BC
B:ACD
C:ABD
D:BC
4
A:BCD
B:ACD
C:ABD
D:ABC
0
Выходные данные #1
1 channel needed.
3 channels needed.
4 channels needed.
Источник Southern African 2001