ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
Задача 102932
УсловиеK членов Жюри Десятой Всероссийской олимпиады школьников по информатике решили отметить столь круглую годовщину в одном из лучших ресторанов на Невском проспекте. На десерт вниманию Жюри предложили торт, имеющий форму прямоугольной призмы с выпуклым N-угольником в основании. Жюри вооружается десертными ножами и собирается справедливо разделить торт на K частей равного объема. Ножами можно проводить прямые вертикальные разрезы от одной границы торта до другой; различные разрезы могут иметь общие точки лишь в своих концевых вершинах.Напишите программу, помогающую членам Жюри построить требуемые
K-1 разрезов.
РешениеСкачать архив тестов и решенийНайдем площадь основания куска торта для одного члена Жюри. Для этого вычислим общую площадь многоугольника S и разделим ее на количество членов K. Отрезать куски членов Жюри будем по очереди: сначала отрежем первому, затем от оставшегося многоугольника отрежем второму и т.д. Все разрезы при этом будем проводить через первую вершину исходного многоугольника. Для отрезания очередного куска поступим так. Один конец разреза уже
фиксирован, а второй перемещается по контуру оставшегося многоугольника до
тех пор, пока не «отмерит» нужную площадь. Сначала он перемещается, прыгая
от одной вершины многоугольника к следующей (каждый раз при этом к
площади ранее отмеренного куска добавляется площадь треугольника,
образованного первой, текущей и следующей вершинами). Как только мы
отмерим лишнего (т.е. площадь куска, отрезанного через текущую вершину,
меньше S
/
K, а через следующую – больше), в качестве второго конца разреза
нужно взять точку на только что пройденной стороне многоугольника. Осталось
разделить эту сторону в отношении, приводящем к куску требуемой площади. Источники и прецеденты использования |
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|