ACMP 608: различия между версиями

Материал из Олимпиадное программирование в УлГТУ
Перейти к навигации Перейти к поиску
(Новая страница: «== Ссылка на задачу == * [http://acmp.ru/?main=task&id_task=608 ACMP #608 — Про любовь] == Похожие задачи == * Инт…»)
 
Нет описания правки
 
Строка 9: Строка 9:
# Построить множество недопустимых точек (если совпадают противоположные углы двух препятствий);
# Построить множество недопустимых точек (если совпадают противоположные углы двух препятствий);
# Построить множество недопустимых отрезков (если имеют общую часть противоположные стороны двух препятствий);
# Построить множество недопустимых отрезков (если имеют общую часть противоположные стороны двух препятствий);
# Проверить отрезок AB: если он не имеет внутренних пересечений с препятствиями, не содержит недопустимых пересечений и отрезков, то ответ — его середина;
# Проверить отрезок AB: если он не имеет '''внутренних''' пересечений с препятствиями, не содержит недопустимых точек и отрезков, то ответ — его середина;
# Построить лучи AC и BC, где C — углы препятствий;
# Построить лучи AC и BC, где C — углы препятствий;
# Для каждой пары (AC, BC), если они пересекаются, найти точку пересечения P и проверить отрезки AP и BP (аналогично (4)). Если подходят, то ответ — P;
# Для каждой пары лучей (ACi, BCj), если они пересекаются, найти точку пересечения P и проверить отрезки AP и BP (аналогично (4)). Если подходят, то ответ — P;
# Если подходящих пар лучей нет, то ответ — NO.
# Если подходящих пар лучей нет, то ответ — NO.


[[Category: Сборник задач: ACMP]]
[[Category: Сборник задач: ACMP]]
[[Category: Задачи: Пересечения]]
[[Category: Задачи: Пересечения]]

Текущая версия от 17:29, 1 июня 2017

Ссылка на задачу

Похожие задачи

Комментарии

  1. Прочитать входные данные;
  2. Построить множество недопустимых точек (если совпадают противоположные углы двух препятствий);
  3. Построить множество недопустимых отрезков (если имеют общую часть противоположные стороны двух препятствий);
  4. Проверить отрезок AB: если он не имеет внутренних пересечений с препятствиями, не содержит недопустимых точек и отрезков, то ответ — его середина;
  5. Построить лучи AC и BC, где C — углы препятствий;
  6. Для каждой пары лучей (ACi, BCj), если они пересекаются, найти точку пересечения P и проверить отрезки AP и BP (аналогично (4)). Если подходят, то ответ — P;
  7. Если подходящих пар лучей нет, то ответ — NO.