русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задача «Ниточка» (номер на сайте 1020)


Дата добавления: 2014-11-28; просмотров: 2264; Нарушение авторских прав


Авторызадачи:Александр Петров и Никита Шамгунов

Злоумышленники варварски вбили в ни в чем не повинную плоскую поверхность N гвоздей, да так, что только шляпки остались. Мало того, они в своих подлых целях вбили все гвозди в вершины выпуклого многоугольника. После этого они... страшно сказать... они натянули ниточку вокруг всех гвоздей, так, что поверхности стало совсем больно! Вот как примерно они это сделали:

 

 

 
 

 


Определить длину этой ниточки.

Исходные данные. В первой строке входа к этой задаче находятся два числа — количество гвоздей N (1 ≤ N ≤ 100), и вещественное число R — радиус шляпок гвоздей. Все шляпки имеют одинаковый радиус. Далее на входе располагаются еще N строк, в каждой из которых записана через пробел пара вещественных координат центра очередного гвоздя; координаты не превосходят по абсолютной величине числа 100.

Описания гвоздей приводятся в порядке обхода вершин многоугольника (либо по часовой стрелке, либо против часовой стрелки), начиная с произвольного. Шляпки разных гвоздей не соприкасаются.

Результат.

Вещественное число, указанное ровно с двумя верными знаками после запятой - длину ниточки, натянутой вокруг всех гвоздей.

Пример

Исходные данные Результат
4 1 0.0 0.0 2.0 0.0 2.0 2.0 0.0 2.0 14.28

Решение. Длина ниточки это сумма расстояний между центрами гвоздей плюс сумма дуг прилегания нити к шляпкам гвоздей. Вся хитрость задачи именно во второй сумме. Посмотрите на рис.5

Рис.5. Примеры размещения гвоздей

Вы по рисунку уже, наверное, поняли, что сумма всех дуг прилегания составит длину одной полной окружности. Напомним, что по условию задачи, гвозди вбиты в вершины выпуклого многоугольника. В этом случае наш интуитивный вывод о сумме дуг можно доказать. Расстояния между точками на плоскости (координаты центров гвоздей) вы можете определить по известным формулам. Для выполнения требования по формату результата используем оператор вывода Write(S:0:2). Очевидно, что координаты точек и все длины – вещественные числа.



Вам по силам написать эту программу самостоятельно. Запустите приведенный в задаче тест. Сдайте задачу тестирующей системе сайта.

Надеемся, что у вас все получилось!



<== предыдущая лекция | следующая лекция ==>
Задача «На болоте» (алгоритм Дейкстры) | Демократия в опасности (номер на сайте 1025)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.959 сек.