Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки

HotLog


 

Города и дороги

(Время: 1 сек. Память: 64 Мб Сложность: 72%)

Известно, что в Байтландии всего N городов и нет дорог! Известно, что все города расположены в различных точках на плоскости и никакие три из них не лежат на одной прямой.

Было решено построить в стране сеть дорог так, чтобы была возможность добраться по дорогам из любого города в любой единственным образом. Каждая дорога представляет собой отрезок, соединяющий некоторую пару городов.

Был подготовлен проект, включающий описание из N-1 непересекающихся дорог. Каждая дорога задаётся парой городов и в целях секретности вместо названий городов были использованы коды – числа от 1 до N.

Однако документ, содержащий соответствие кодов городам, был утерян. Была поставлена задача: найти хоть какое-то возможное сопоставление номеров городам. К сожалению, из-за того, что пересечение дорог недопустимо, не любой вариант подходит. Это значительно усложнило задачу.

Вам требуется сопоставить числам от 1 до N города так, чтобы после реализации проекта не было пересечений дорог вне городов, которые их соединяют.

Входные данные

В первой строке входного файла INPUT.TXT содержится целое число N – количество городов в Байтландии (2 ≤ N ≤ 1500). Далее следует N описаний городов. Описание каждого города состоит из двух строк. Первая строка содержит название города – строку, состоящую из символов с ASCII-кодами от 33 до 127. Названия различных городов не совпадают. Названия городов имеют длину от 1 до 60 символов. Вторая строка описания города содержит два целых числа x и y – координаты города. Координаты не превышают 104 по абсолютной величине. Гарантируется, что никакие три города не лежат на одной прямой.

Далее следуют N-1 строк, которые описывают проект постройки сети дорог в его текущем состоянии. Каждая строка содержит по два целых числа от 1 до N – номера городов, соединённых дорогой в проекте. Никакая дорога в проекте не соединяет город сам с собой, никакие два города не соединены более чем одной дорогой. В проекте упомянуты все города от 1 до N. По дорогам проекта можно добраться от любого города до любого другого.

Выходные данные

В выходной файл OUTPUT.TXT выведите N строк, i-я из этих строк должна содержать название города, который следует сопоставить числу i в проекте. Если решений несколько, выведите любое.

Если решения не существует, выведите «No solution».

Пример

INPUT.TXTOUTPUT.TXTПояснение
16
Borodino
2 -1
Achinsk
-3 1
Abakan
-2 -4
Lesosibirsk
-1 4
Kansk
3 1
Krasnoyarsk
0 0
3 5
1 4
4 2
3 4
4 6
Kansk
Abakan
Achinsk
Krasnoyarsk
Lesosibirsk
Borodino
Карта Байтландии

Система оценки

Решения, работающие только для N ≤ 10, будут оцениваться в 50 баллов.


Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2005 / 2006
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014 7-8 классы
 2013 / 2014 9-11 классы
 2014 / 2015 7-8 классы
 2014 / 2015 9-11 классы
 2015 / 2016 7-8 классы
 2015 / 2016 9-11 классы
 2016 / 2017 7-8 классы
 2016 / 2017 9-11 классы
 2017 / 2018 7-8 классы
 2017 / 2018 9-11 классы
 2018 / 2019 7-8 классы
 2018 / 2019 9-11 классы
 2019 / 2020 7-8 классы
 2019 / 2020 9-11 классы
 2020 / 2021 7-8 классы
 2020 / 2021 9-11 классы
 2021 / 2022 7-8 классы
 2021 / 2022 9-11 классы
 A. Капитал
 B. Шаблон-палиндром
 C. Делители
 D. Сумма
 E. Простой путь
 F. Города и дороги

Красноярский краевой Дворец пионеров, (c)2006 - 2022, E-mail: admin@acmp.ru



ставки на UFC