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

Новое правило в чемпионате мира по программированию ICPC: можно использовать три компьютера. Давайте посмотрим как это повлияла на одну из сильнейших команд с Казахстана. Кирилл,
Айбар и Султан начали писать контест.
В контесте всего n задач и длится 5 часов.
Они уже оценили время которое они потратят на каждую задачу. Кирилл решает задачу с
номером i за ai минут. Айбар за bi
. Султан за ci
.
Как и всегда нужно решить как можно больше задач с меньшим штрафом.
Штраф определяется как сумма времени решения для каждой принятой задачи.
Например, если команда сдаст первую задачу на 5 минуте, а вторую на 10 минуте то штраф
будет равен 5 + 10 = 15.
Вам нужно определить какой самый лучший результат может получить команда.

Показать ответ
Ответ:
ГНМ
ГНМ
03.02.2023 03:38
Известно уравнение прямой, проходящей через две точки A(x₁,y₁) и B(x₂,y₂). Если третья точка C(x₃,y₃) лежит на этой же прямой, то после подстановки её координат уравнение обращается в тождество
\displaystyle \frac{x-x_1}{x_2-x_1}= \frac{y-y_1}{y_2-y_1} \to \frac{x_3-x_1}{x_2-x_1} \equiv \frac{y_3-y_1}{y_2-y_1}
Следовательно, нужно проверить, выполняется ли это тождество для заданных координат.
В этом тождестве есть одна неприятная вещь: если y₂=y₁ и/или x₂=x₁, то в знаменателе получается ноль, чему компьютер уж точно не обрадуется. Поэтому такой случай надо рассмотреть отдельно, исходя из геометрического смысла.
Если же y₂≠y₁ и x₂≠x₁, можно привести тождество к более удобному виду:
\displaystyle \frac{x_3-x_1}{x_2-x_1} \equiv \frac{y_3-y_1}{y_2-y_1} \to (x_3-x_1)(y_2-y_1)\equiv (y_3-y_1)(x_2-x_1); \\ p_1=(x_3-x_1)(y_2-y_1), \ p_2=(y_3-y_1)(x_2-x_1), \ p_1\equiv p_2
Поскольку координаты могут быть и не целыми, а такие нецелые ("вещественные") числа представляются в компьютере с ограниченной точностью, тождество может оказаться ложным по причине такой неточности. Для обхода такого случая будем полагать, что два значения равны друг-другу, если их разность по модулю не превышает некоторой малой величины, т.е.:
|p_1-p_2|\leq \epsilon, \ \epsilon=10^{-8}

Вернемся к случаю y₂=y₁. В этом случае прямая параллельна оси Х, т.е. тогда условием принадлежности третьей точки данной прямой будет y₃=y₁ при любом х. То же можно сказать и про случай х₂=х₁, когда следует проверить, что х₃=х₁.

Если все три точки лежат на одной прямой, то у средней из них значение любой из координат должно находиться между значениями двух одноименных координат крайних точек.

// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
var
  x1,y1,x2,y2,x3,y3,p1,p2:real;
  on_line:boolean;
begin
  // Без проверки считаем, что у двух любых точек
  // не может быть одинаковых координат
  Write('Координаты точки А: '); Read(x1,y1);
  Write('Координаты точки B: '); Read(x2,y2);
  Write('Координаты точки C: '); Read(x3,y3);
  if x3=x1 then on_line:=(x2=x1);
  if (not on_line) then
    if y3=y1 then on_line:=(y2=y1);
  if not on_line then begin
    p1:=(x3-x1)/(x2-x1); p2:=(y3-y1)/(y2-y1);
    on_line:=(abs(p1-p2)<1e-8)
    end;
  if on_line then begin
    Writeln('Точки лежат на одной прямой');
    if (x2>x1) and (x2<x3) or (x2>x3) and (x2<x1)
    then Writeln('Точка B внутри')
    else
      if (x3>x1) and (x3<x2) or (x3>x2) and (x3<x1)
      then Writeln('Точка C внутри')
      else
        Writeln('Точка A внутри')
    end
  else
    Writeln('Точки не лежат на одной прямой')
end.

Тестовое решение:
Координаты точки А: 1 2.5
Координаты точки B: 3 3.5
Координаты точки C: -4 0
Точки лежат на одной прямой
Точка A внутри
0,0(0 оценок)
Ответ:
Даша5015664
Даша5015664
18.06.2022 13:28
Задача решается при кругов Эйлера.
Пилот = n1 + n4 + n6 + n7 = 700
Пилот | Вертолёт | Акула = n1 + n2 + n3 + n4 + n5 + n6 + n7 = 1200
Пилот & Вертолёт & Акула = n7 = 0
Пилот & Акула = n4 + n7 = 110
Пилот & Вертолёт = n6 + n7 = 220
Вертолёт & Акула = n5 + n7 = 330
Найти : n2 + n3 + n4 + n5 + n6
Т.к  n7 = 0, то n4=110
                       n5 = 330
                       n6 = 220
Тогда из первого выражения находим, что :
n1 + n4 + n6 + n7 = 700
n1 + 110 + 220 + 0 = 700
n1 = 370
Из второго выражения получаем итоговый ответ:
n1 + n2 + n3 + n4 + n5 + n6 + n7 = 1200
n2 + n3 + n4 + n5 + n6 = 1200 - n1 - n7 = 1200 - 370 = 830
ответ: 830

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