![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_Contr@Bas_* |
![]()
Сообщение
#1
|
Guests ![]() |
Народ! Помгите задачу решить! Очень надо
Профиль Уральских гор задается ломаной (x1, y1), (x2, y2), …, (xN, yN), для координат вершин которой верны неравенства x1 < x2 < … < xN. Начальные и конечные точки профиля расположены на уровне моря (y1 = yN = 0). На горном профиле заданы две различные точки A и B, между которыми требуется проложить дорогу. Эта дорога будет проходить по склонам гор и проектируемому горизонтальному мосту, длина которого не должна превышать L. Оба конца моста находятся на горном профиле. Дорога заходит на мост с одного конца и выходит с другого. Мост не может содержать точек, расположенных строго под ломаной (строительство тоннелей не предполагается). Возможные примеры расположения моста Невозможное расположение моста Достоверно известно, что строительство такого моста в данной местности возможно, причем позволит сократить длину дороги из точки A в точку B. Требуется написать программу, которая определит такое расположение горизонтального моста, что длина дороги от точки A до точки B будет наименьшей. Формат входных данных Первая строка входного файла содержит два целых числа N и L — количество вершин ломаной (2 ≤ N ≤ 100 000) и максимальную длину моста (1 ≤ L ≤ 106) соответственно. Вторая строка входного файла содержит координаты точки A, третья строка — координаты точки B. Точки A и B различны. Последующие N строк содержат координаты вершин ломаной (x1, y1), (x2, y2), …, (xN, yN). Координаты вершин ломаной, а также точек A и B, задаются парой целых чисел, не превосходящих по абсолютному значению 106. Гарантируется, что x1 < x2 < … < xN и y1 = yN = 0, а также, что точки A и B принадлежат ломаной. Формат выходных данных В первой и второй строках выходного файла выведите координаты концов моста с точностью не менее 5 знаков после десятичной точки. В случае, когда решений несколько, выведите любое из них. |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Мега постер ![]() Группа: Local moder Сообщений: 1,712 Регистрация: 21.8.2006 Пользователь №: 1,269 ![]() |
Когда-то писал, правда исходников уже не найду у себя. Видимо с home-разделом отформатировал.
Не пойму какие проблемы могут возникнуть - программа укладывается строк в 50. Определить структуру для команды, далее выделить массив таких структур, забить туда команды программы, которую надо выполнить на МТ. Создать также массив - аналог ленты. И обрабатывать это в цикле до посинения, прыгая туда-сюда, пока не достигнет конечного состояния. Сообщение отредактировал Amp - May 9 2007, 21:28 -------------------- |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 6th July 2025 - 01:22 |