- Описание
- Отправленные решения
6. Робот-пылесос
Костя живёт в прямоугольной комнате размером с четырьмя углами, пронумерованными от 1 до 4 (1 — внизу слева, 2 — внизу справа, 3 — вверху справа, 4 — вверху слева). Нижний левый угол имеет координаты (0, 0), а верхний правый угол — координаты (, ).
Для уборки комнаты Костя хочет использовать робот-пылесос, который может перемещаться по комнате в любом направлении. Робот-пылесос можно представить в виде окружности.
В комнате, помимо четырёх углов, есть мебель, с которой роботу-пылесосу лучше не сталкиваться. Вся мебель в комнате Кости круглая, каждый объект можно представить окружностью с центром в точке и радиусом . Гарантируется, что окружности мебели не пересекаются между собой и не пересекаются со стенами комнаты.
Для выбора робота-пылесоса Костя делает специальных расчётов. А именно: он подсчитывает, до каких углов сможет доехать, не врезавшись в мебель или стену, робот-пылесос радиусом , если начнёт в углу с номером . Помогите Косте.
Силой трения в задаче можно пренебречь (иначе говоря, все объекты в комнате могут касаться друг друга, но не могут иметь положительную площадь пересечения). Считается, что робот радиусом находится в углу, если он касается обеих стен угла одновременно.
Гарантируется, что любой пылесос в запросе находится ближе к углу, чем любая мебель, а также не пересекается с никакой мебелью.
Формат ввода
Первая строка ввода содержит два целых числа и (, ) — количество элементов мебели в комнате и количество расчётов Кости.
Вторая строка ввода содержит два целых числа и () — ширину и длину комнаты.
После этого вводится строк, которые описывают мебель. Каждая строка содержит три целых числа , и () и описывает соответствующую окружность — координаты центра и радиус.
Наконец, есть строк, которые описывают расчёты. Каждая строка содержит два целых числа и () — радиус пылесоса и номер угла.
Формат вывода
Вы должны вывести для каждого пылесоса одну строку, содержащую номера углов, до которых они могут добраться, в отсортированном порядке без пробелов между ними.
Примечание
В первом тесте задана комната размером , в которой левая и правая половины разделены «стенкой» из трёх окружностей радиусом 1. Таким образом, пылесосы радиуса 1, начинающие в левой половине комнаты (углы 1, 4), не доедут до правой (углы 2, 3), и наоборот.
Во втором тесте по центру комнаты стоит один объект. Первый пылесос может объехать его вдоль стен комнаты, возможно касаясь стен или объекта в определенные моменты и посетить каждый угол. У второго пылесоса это не получится.
Ограничения
Ограничение времени
2 с
Ограничение памяти
512 МБ
Пример 1
3 4
6 6
3 1 1
3 3 1
3 5 1
1 1
1 2
1 3
1 4
14
23
23
14
Пример 2
1 2
22 22
11 11 5
3 1
4 1
1234
1