Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Есть такая задачка помогите решить

59K
27 января 2011 года
eliam
1 / / 08.04.2010
В графстве Алгоритмия построено несколько городов. Между некоторыми городами проложены дороги.
Считая города графства вершинами графа, а дороги - его рёбрами, найдите фундаментальное множество циклов графства.


Формат входных данных
В первой строке дано число N - количество городов в графстве
В последующих N строках описано с какими городами связан дорогами каждый из N городов графства. Каждая такая строка имеет вид:
Gi CNTi N1 N2 ... NCNTi где
Gi - город, для которого даны имена городов, связанных с ним дорогами
CNTi - количество таких [соседних] городов
N1, N2, .. - их имена


Формат выходных данных
В выходной файле должно быть столько строк, сколько сколько циклов в фундаментальном множестве.
В каждой строке должны быть через перечислены города циклы из фундаментального множества: должны быть выведены через пробел города соответствующего цикла при обходе. Строка должна начинаться и заканчиваться одним и тем же городом.
Ели вариантов ответа несколько, вывести любой из них.


Пример
Вход (stdin) Выход (stdout)
5
tomsk 3 perm omsk saratov
omsk 3 perm tomsk saratov
perm 2 tomsk omsk
saratov 3 tomsk omsk moskva
moskva 1 saratov perm omsk tomsk perm
tomsk saratov omsk perm tomsk


Ограничения
1. Имя города составлено из строчных латинских букв, его длина не превосходит 8 символов.
2. Количество городов в графстве не превосходит 105.
3. Общее число дорог графства не превосходит 1.1*105.
4. Гарантируется, что в графстве отсутствуют дороги из одного города в него же и, если два города связаны дорогой, то только одной.


Примечания
1. Для сопоставления имен городов и номеров вершин графа рекомендуется использовать одну из следующих структур данных: бинарное дерево поиска, сбалансированное дерево поиска, хэш-таблица
2. Для сортировки результата рекомендуется использовать любой алгоритм быстрой сортировки (пр. Шелла, Хоара, слиянием, ...)
3. На следующем рисунке проиллюстрирован граф из примера:

Реализовать можно на C++ или Delphi
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог