- Описание
- Отправленные решения
53. Пробежки по Манхэттену
Дороги Нью-Манхэттена устроены следующим образом. С юга на север через каждые сто метров проходит авеню, с запада на восток через каждые сто метров проходит улица. Авеню и улицы нумеруются целыми числами. Меньшие номера соответствуют западным авеню и южным улицам. Таким образом, можно построить прямоугольную систему координат так, чтобы точка (x, y) лежала на пересечении x-ой авеню и y-ой улицы. Легко заметить, что для того, чтобы в Нью-Манхэттене дойти от точки () до точки () нужно пройти кварталов. Эта величина называется манхэттенским расстоянием между точками () и ().
Миша живет в Нью-Манхэттене и каждое утро делает пробежку по городу. Он выбегает из своего дома, который находится в точке (0, 0) и бежит по случайному маршруту. Каждую минуту Миша либо остается на том же перекрестке, что и минуту назад, или перемещается на один квартал в любом направлении. Чтобы не заблудиться Миша берет с собой навигатор, который каждые t минут говорит Мише, в какой точке он находится. К сожалению, навигатор показывает не точное положение Миши, он может показать любую из точек, манхэттенское расстояние от которых до Миши не превышает d.
Через минут от начала пробежки, получив n-е сообщение от навигатора, Миша решил, что пора бежать домой. Для этого он хочет понять, в каких точках он может находиться. Помогите Мише сделать это.
Формат ввода
Первая строка входного файла содержит числа t, d и n (, , ).
Далее n строк описывают данные, полученные от навигатора. Строка номер i содержит числа и — данные, полученные от навигатора через минут от начала пробежки.
Формат вывода
В первой строке выходного файла выведите число m — число точек, в которых может находиться Миша. Далее выведите m пар чисел — координаты точек. Точки можно вывести в произвольном порядке.
Гарантируется, что навигатор исправен и что существует по крайней мере одна точка, в которой может находиться Миша.
Ограничения
Ограничение времени
2 с
Ограничение памяти
64 МБ
Пример 1
2 1 5
0 1
-2 1
-2 3
0 3
2 5
2
1 5
2 4
Пример 2
1 1 1
0 0
5
-1 0
0 -1
0 0
0 1
1 0
Пример 3
1 10 1
0 0
5
-1 0
0 -1
0 0
0 1
1 0