В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
kiggiydduii
kiggiydduii
06.05.2021 03:31 •  Информатика

Специалисты фирмы Amazing Star Travel очень ответственно относятся к безопасности своих клиентов. Прежде чем маршрут из точки A в точку B будет одобрен для увлекательных путешествий, он проходит всестороннюю экспертизу. Помимо очевидных опасностей , таких как наличие на маршруте вредных космических излучений, активность пиратов и прогнозирования вспышек сверхновых, в числе прочих анализируется и множество других, более скучных. Современные исследования показали, что на пролетающий на околосветовых скоростях по отрезку AB космический корабль негативное влияние может оказать гравитационное поле звезд и планет. С удалением звезды или планеты от отрезка это влияние сначала возрастает, а потом скачкообразно падает до нуля. Особенно опасно, если звезда и планета расположены по разные стороны прямой AB. Тогда их воздействие мультиплицируется, то есть перемножается. Особо следует отметить, что эффект мультиплицирования возникает только в паре звезда-планета, а, например, для пар звезда-звезда или планета-планета не обнаружен. Кроме того, этот эффект не наблюдается, если звезда и планета расположены по одну сторону от прямой AB. Осталось сказать, что можно считать эффект гравитационного воздействия равным площади треугольника ABC, где A и B — начало и конец маршрута, а C — место расположения звезды или планеты. Вас просят оценить опасность заданного отрезка AB, то есть найти максимальную величину гравитационного воздействия на отрезок среди всех пар звезда-планета, расположенных по разные стороны прямой AB. Не стоит забывать и о простом воздействии отдельных объектов, которое может оказаться даже больше, чем воздействие пары. Входные данные.

В первой строке содержится четыре целых числа через пробел XA, YA, XB, YB — координаты точек A и В. Во второй строке содержатся числа NN и MM, разделенные пробелом (0 \leq N,M \leq 1000≤N,M≤100) — количество звёзд и количество планет соответственно. В каждой из следующих N строк содержатся координаты очередной звезды. Далее в каждой из следующих M строк содержатся координаты очередной планеты. Указанные звёзды и планеты и только они могут оказать ненулевое гравитационное влияние на отрезок AB. Все координаты целые, по модулю не превосходят 1000. Гарантируется, что никакие три точки из всех вышеперечисленных не находятся на одной прямой.

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

В ответе нужно выдать ответ на задачу — одно вещественное число округлённое ровно до двух знаков после точки. Разделитель между целой и дробной частями ответа — точка.
Sample Input 1:

-4 -2 2 0
3 4
-2 4
2 -1
1 -4
-3 3
-1 0
-2 -2
1 -1
Sample Output 1:

154.00

Показать ответ
Ответ:

def sqc(xa,ya,xb,yb,xc,yc) :

   return ((xb - xa) * (yc - ya) - (xc - xa) * (yb - ya)) / 2

 

xa, ya, xb, yb = map(float,input().split())

n, m = map(int,input().split())

astra = []

sc  = []

res, smax = 0, 0

for i in range(n) :

   xc, yc = map(float,input().split())

   astra.append((xc,yc))

   sctmp = sqc(xa,ya,xb,yb,xc,yc)

   if smax < abs(sctmp) :

       smax = abs(sctmp)

   #print(sctmp)

   sc.append(sctmp)

for i in range(m) :

   xc, yc = map(float,input().split())

   sp = sqc(xa,ya,xb,yb,xc,yc)

   if smax < abs(sp) :

       smax = abs(sp)

   #print(sp)

   for j in range(n) :

       xd, yd = astra[j][0], astra[j][1]

       if sp * sc[j] < 0 :

           if smax < abs(sp * sc[j]) :

               smax = abs(sp * sc[j])

print('{:.2f}'.format(smax))

У меня получилось.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота