Украинские Олимпиады
Украинские Олимпиады по Информатике
по Информатике

Соревнования

Информация
Добро пожаловать
Гостевая книга
Обратная связь
О сайте

ACM-олимпиада
Новости
Правила
Задачи
Сдать задачу
Таблица результатов

IOI-олимпиада
Новости
Правила
Последние задачи
Последние результаты
Архив

"Трудно-решаемая" задача
Новости
Правила
Последняя задача
Последние результаты
Архив

Логические игры
Новости
Правила
Виды игр
Последний турнир
Архив

Викторина
Новости
Правила
Последняя викторина
Архив

 
 
Всеукраинские подготовительные сборы Киев'2000

Печатная плата

  

 

При разводке печатной платы необходимо затратить как можно меньше места и средств. Вам предлагается написать программу, которая частично решает эту проблему.

Печатная плата представляется сеткой квадратных ячеек. Первоначально проведено несколько дорожек, которые представляют собой цепочки последовательно соединенных ячеек. Необходимо соединить дорожкой еще две точки подобным образом. Каждая клетка дорожки (включая конечную и начальную) стоит одну единицу, однако, если дорожка пересекает другую дорожку, то стоимость будет выше, а именно - k (k>=2). В том случае, если дорожка пересекает место пересечения нескольких дорожек, то стоимость проводки такой ячейки составляет соответственно n*k, где n - количество уже пересекающихся в этом месте дорожек.

Задание

Необходимо провести дорожку таким образом, чтобы стоимость проводки была минимальной. Гарантируется, что начальная и конечная точки различны. Имя программы circuit.pas

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

Во входном файле circuit.dat первой строкой идет размер сетки 1 <size<100. Во второй строке - четыре координаты - точки, которые надо соединить. В третьей строке - значение стоимости пересечения - k. Четвертая содержит количество заданных заранее дорожек. Начиная с пятой, в каждой строке задается дорожка в следующем формате: первое число - количество узловых (концевых и поворотных) точек в дорожке. Далее пары чисел - последовательно координаты узловых точек с начальной до конечной точки дорожек.

Пример входного файла
11
2 3 9 8
4
2
3 3 9 3 4 10 4
4 9 2 7 2 7 7 5 7
Выходные данные

В выходном файле circuit.sol в первой строке содержится стоимость проведения дорожки, во второй дорожка в таком же формате, как и во входных данных. (Количество узловых точек и далее последовательно координаты узловых точек)

Пример выходного файла
16
3 2 3 2 8 9 8

  

 

Сборник

Олимпиады
Международные
Всесоюзные
Всеукраинские (IV этап)
Разные...

Всеукраинские олимпиады
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002

Отборочные сборы
1992 1993 1994 1996 1997 1998 1999 2000 2001 2002

Международные олимпиады
1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002

Всесоюзные олимпиады
1989 1990 1991 1992

Информация
Список ссылок
Литература
Статьи
Рассылки
Интервью

© Разработано рабочей группой UOI 1998-2002 гг.