ACMP 608

Материал из Олимпиадное программирование в УлГТУ
Перейти к навигации Перейти к поиску

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

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

Комментарии

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