ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

ICPC UrFU Contest Qualifier 2026

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

N. Руны в поле 3

Ограничение времени: 2.0 секунды
Ограничение памяти: 256 МБ
И снова Вадим оказался на бесконечном поле, которое представимо в виде плоскости с декартовыми координатами. В самом центре поля, в точке O с координатами (0; 0), он увидел древний манускрипт. Когда он прикоснулся к нему, на поле засветились чарующим синим цветом M рун, а также на N отрезках внезапно поднялась трава, причём эти отрезки не пересекались. Вадим сразу понял, что нужно сделать, однако, сделав один шаг к одной из рун, всё пропало.
Внимательно прочитав манускрипт, Вадим осознал, что ему достаточно сосчитать количество рун, которые ему видны. Как известно, у Вадима угол обзора 90∘, а изначально он смотрит по направлению вектора s (другими словами, Вадим видит всё между направлениями RO−45∘ s и RO45∘ s). При этом поднявшаяся трава закрывает обзор на руны. Даже если руна попала на отрезок, её не видно. Руны же не закрывают обзор на другие руны, даже если находятся в одном и том же месте. Сосчитать руны можно за минуту, однако в следующую минуту произойдёт одно из двух событий:
  1. Одна руна телепортируется в другое место на поле.
  2. Вадим поворачивается в направлении вектора v.
Само собой, после каждого из событий, которых будет ровно Q, необходимо сосчитать руны заново. Помогите Вадиму это сделать.

Исходные данные

В первой строке даются два целых числа sx и sy — координаты вектора, по направлению которого Вадим смотрит изначально.
Во второй строке даётся целое число N — количество отрезков травы (1 ≤ N ≤ 105).
В следующих N строках описываются отрезки травы четырьмя числами ax, ay, bx и by. Концы отрезков различны.
В следующей строке даётся целое число M — количество рун на поле (1 ≤ M ≤ 105).
В следующих M строках описываются координаты каждой из рун двумя числами rx и ry. Все руны пронумерованы от 1 до M в порядке ввода.
В следующей строке даётся целое число Q — количество событий (1 ≤ Q ≤ 105).
В следующих Q строках описываются события в одном из двух форматов:
  • T i x y — руна под номером i телепортируется в точку (x; y).
  • R x y — Вадим поворачивается в направлении вектора (x; y).
Все данные координаты целые и не превосходят по модулю 109.
Гарантируется, что если обозначить точку (0; 0) за O и взять любой конец отрезка P и любой другой конец отрезка или точку, где может быть руна, Q, то луч OP не равен лучу OQ. Также никакая точка из ввода не совпадает с O, и O не лежит ни на одном из отрезков.

Результат

Вначале выведите, сколько Вадим видит рун изначально, а затем Q чисел — количества рун, которые Вадим видит после каждого события.

Пример

исходные данныерезультат
1 0
4
-4 4 0 6
2 -1 1 4
-1 2 3 -4
-2 1 -3 -2
4
-1 0
-2 3
1 -1
-1 -3
7
R 0 -1
R -2 -2
R -2 2
R 0 1
R -2 1
T 1 -3 0
T 2 -2 5
0
1
2
2
1
2
1
0
Автор задачи: Вадим Баринов
Источник задачи: Квалификационный тур Уральского регионального чемпионата ICPC 2026: отбор УрФУ
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 2244. Руны в поле 3