Темы --> Информатика --> Алгоритмы --> Вычислительная геометрия
---> 216 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 38 39 40 41 42 43 44 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

В городе, являющемся одним из ведущих Российских образовательных центров, решили построить пивную. Естественно, что ректоры находящихся в городе ВУЗов потребовали, чтобы пивная была максимально удалена от каждого из ВУЗов. Помогите директору будущей пивной выбрать оптимальное место для строительства. Граница города представляет собой выпуклый многоугольник. Положение ВУЗов задается координатами точек внутри этого многоугольника. Пивную нужно построить так, чтобы расстояние от нее до ближайшего вуза было максимально. Пивную можно строить как внутри города, так и на его границе.

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

В первой строке потока ввода задается число \(3 \le N \le 10\) – количество вершин многоугольника, являющегося границей города. В следующей строке – \(2*N\) вещественных чисел по модулю не превосходящих 1000, являющихся координатами вершин многоугольника, перечисленными в порядке обхода границы города против часовой стрелки. Никакие две вершины многоугольника не совпадают, никакие три не лежат на одной прямой. В третьей строке потока ввода находится число \(1 \le M \le 100\) – количество ВУЗов в городе. В следующей строке – \(2 * M\) вещественных чисел по модулю не превосходящих 1000, являющихся координатами каждого из ВУЗов(никакие два ВУЗа не расположены в одной точке).

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

В первую строку выходного потока вывести минимальное расстояние от планируемого места строительства пивной до ближайшего к ней ВУЗа. Во второй строке вывести через пробел координаты места, оптимального для строительства пивной. Результаты выводить с двумя цифрами после точки.

Примечание

Все вещественные числа задаются не более чем с двумя значащими цифрами после точки.

Примеры
Входные данные
3
0 0 4 1 0 3
1
1 1
Выходные данные
3.00
4.00 1.00
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Флатландский валун имеет форму многоугольника (не обязатеьно выпуклого). Для простоты будем рассматривать только многоугольники, у которых любые 3 вершины не лежат на одной прямой. Такие валуны получаются из разных видов камней, необязательно однородной плотности. Тем не менее, вы знаете расположение его центра тяжести. Сейчас мы положили на горизонтальную прямую две вершины камня (назовём их базовыми), и отпустили. В случае, если центр тяжести находится над отрезком, соединяющим базовые вершины, или над базовыми вершинами, то валун будет стоять. Иначе сила тяжести заставит его катится в определённом направлении.

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

Иначе он продолжит вращаться, пока в конце концов не остановится, так как во Флатляндии вечный двигатель невозможен. Движение валуна происходит в вязкой среде, то есть инерция отсутствует, и валун остановится, как только сила тяжести позволит ему. Зная координаты вершин валуна и его центра тяжести, вычислите количество поворотов, которые совершит валун перед остановкой.

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

Входной файл содержит целое число N (3 ≤ N ≤ 100) . В следующих N + 1 строках находятся пары целых чисел. Первые N пар описывают координаты вершин валуна, перечисленные в порядке обхода по или против часовой стрелки (линия, на которой стоит валун, описывается уравнением y = 0 ; гравитация действует параллельно Oy в стороны отрицательных y ). Последняя пара чисел описывает центр тяжести. Все координаты — целые числа, не превосходящие по абсолютному значению 30 000 , все y -координаты — неотрицательные. Никакие 3 вершины не лежат на одной прямой. Центр тяжести находится внутри валуна.

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

Выведите одно число — количество поворотов

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Рассмотрим 3D модель системы координат OXYZ . Ось OX направлена направо, ось OY наверх, ось OZ от нас. В пространстве находятся прямоугольные окна. Плоскость каждого окна параллельна плоскости OXY , т.е. его стороны параллельны осям OX и OY . Все окна находятся на разной глубине (различные координаты z > 0).

Гангстер с ружьем двигается вдоль оси OX ( y = 0, z = 0 ). Он может выстрелить пулей по прямой линии. Его цель одним выстрелом пробить все окна. Просто касания окна по ребру достаточно, чтобы оно разбилось. Ваша задача определить как совершить такой выстрел.

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

Первая строка содержит одно число n ( 2 ≤ n ≤ 100 ) - число окон в пространстве. Следующие n строк описывают окна. Каждая строка содержит 5 целых чисел x 1 i , y 1 i , x 2 i , y 2 i , z i ( 1 ≤ x 1 i , y 1 i , x 2 i , y 2 i , z i ≤ 1000 ). Здесь ( x 1 i , y 1 i , z i ) - координаты нижнего левого угла, а ( x 2 i , y 2 i , z i ) - координаты верхнего правого угла. Все окна имеют ненулевую площадь. Окна отсортированы по координате z .

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

Выведите единственное слово "UNSOLVABLE", если гангстер не может достичь своей цели.

Иначе выведите слово "SOLUTION". На следующей строке выведите x координату точки из которой должен выстрелить гангстер. В следующих n строках выведите x , y , z - координаты точек в которых пуля пробьет i -ое окно. Все координаты должны быть выведены с точностью 6 знаков после запятой.

Примеры
Входные данные
3
1 3 5 5 3
1 2 5 7 5
5 2 7 6 6
Выходные данные
SOLUTION
-5.0000000000
1.0000000000 3.0000000000 3.0000000000
5.0000000000 5.0000000000 5.0000000000
7.0000000000 6.0000000000 6.0000000000
Входные данные
3
2 1 5 4 1
3 5 6 8 2
4 3 8 6 4
Выходные данные
UNSOLVABLE
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

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

Трасса очень длинная, поэтому соревнования могут затягиваться не на один день и проходить не только днем, но и ночью. Организаторы глубоко задумались о том, как они будут освещать трассу, ведь освещать бесконечно длинную трассу не так уж и просто. Для этого они закупили N прожекторов, которые будут установлены в некоторых точках города. Известно что прожекторы освещают землю, образуя круги.

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

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

Первая строка входного файла содержит четыре числа x 1 , y 1 , x 2 , y 2 — координаты двух точек на прямой. Во второй — строке число N ( 1 ≤ N ≤ 100000 ) — количество прожекторов. В каждой их следующих N строк заданы 3 числа x , y и R , координаты и радиус кругов, образованных прожекторами.

Все координаты и радиусы — целые числа, не превышающие по модулю 10 5 .

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

В выходной файл выведите ответ на задачу, с точностью до 10 - 4 .

Примечание

Этот рисунок соответствует второму примеру. Отмеченная жирной линией часть дороги, является освещенной.

Примеры
Входные данные
0 0 1 1
1
5 5 1
Выходные данные
2.000000000000001
Входные данные
1 1 2 3
3
5 5 5
-5 5 8
-3 -5 3
Выходные данные
18.446020156281286
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Завтра состоится футбольный матч между двумя знаменитыми командами: Газмясом и Нефтьрыбом. Матч будет проходить на поле длины L и ширины W . Матч будет судить профессиональный футбольный судья в четвертом поколении Вениамин Хлебников.

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

Рассмотрим ситуацию, когда игрок A делает пас игроку B — то есть, передает ему мяч по отрезку, соединяющему точки, в которых находятся игроки. С одной стороны, судья должен хорошо видеть то, что происходит во время паса; с другой стороны, согласно требованиям безопасности, судья не может находиться слишком близко к мячу. Поэтому во время паса судья должен находиться на расстоянии, не меньшем, чем r , и не большем, чем R , от возможного положения мяча. При этом считается, что все то время, в течение которого движется мяч, судья стоит на одном месте. Разумеется, судья должен все время матча находиться на поле.

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

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

В первой строке входного файла даны два целых положительных числа L и W ( 1 ≤ L , W ≤ 100 ) — длина и ширина поля.

Во второй строке даны целые числа X A , Y A , X B , Y B — координаты игроков A и B соответственно. Так как игроки находятся на поле, то 0 ≤ X A , X B L , 0 ≤ Y A , Y B W .

В третьей строке даны целые числа r и R ( 0 < r < R < 100 ). Известно, что R D , где — расстояние между игроками A и B .

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

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

Примеры
Входные данные
20 20
5 10 15 10
5 9
Выходные данные
13.956675119742911

Страница: << 38 39 40 41 42 43 44 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест