Показать полную графическую версию : Ещё задачка...
noname00.pas
28-11-2001, 22:30
Дан многоугольник на плоскости. Нужно окружить его линией наименьшей длины таким образом, чтобы она не приближалась к многоугольнику ближе чем на расстояние L.
Во входном текстовом файле в первой строчке через пробел числа N(количество вершин, не более 1000) и L. Далее на N строках пары кообринат вершин через пробел в порядке обхода по часовой стрелке. В выходной файл нужно вывести единственное число - длину получившейся линии.
ПС. Я же не прошу вас публиковать тексты программ, просто напишите, как нужно решать ;)
Apis.NET
29-11-2001, 03:12
noname00.pas Писец ты сам то понял что сказал7 Ты с азов начни!
noname00.pas
29-11-2001, 12:12
Apis.NET
Куда же проще то? Это вобще на геометрию задачка :)
vasketsov
29-11-2001, 13:54
1. По многоугольнику строится его минимальная выпуклая оболочка (ВО) (единственная). Дальше вся работа с ней.
2. Описываем вокруг каждой вершины ВО окружность радиуса L.
3. Проводим попарно внешние касательные для соседних окружностей
4. Считаем длину исходя из точек касания.
5. Идем за пивом.
noname00.pas
29-11-2001, 14:17
vasketsov
Верно... А можно ещё проще. Периметр выпуклой оболочки + 2*pi*L
;)
П.С. Это была задача D с прошедшего вчера полуфинала ACM (NEERC) ИМХО самая простая...
Apis.NET
Нужно ли объяснять, как строится выпуклая оболочка?
vasketsov
29-11-2001, 14:57
noname00.pas
>>Верно... А можно ещё проще. Периметр выпуклой оболочки + 2*pi*L
Да, не сообразил :)))
Apis.NET
30-11-2001, 03:34
noname00.pas Человеку который считает что самое большое счастье в его жизни это отмена экзамена по геометрии в 7 классе? Думаю что надо.
noname00.pas
30-11-2001, 03:47
Apis.NET
Читай тему "Построение выпуклой оболочки методом Джарвиса"
Apis.NET
02-12-2001, 01:52
Ладно, будет время прочту.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.