printРабочее место участника

printЗадачи

274. Путешествие одинокого короля

Ограничения: время – 5s/10s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

На бесконечной шахматной доске стоит одинокий черный король. Он хочет попасть из поля с координатами `(x_s,\ y_s)` в поле с координатами `(x_t,\ y_t)`. За один ход король может переместиться с текущего поля на одно из соседних восьми полей.
Кроме короля на доске находятся несколько белых фигур. Они не двигаются, но король не может становиться на поле, занятое белой фигурой.
Помогите королю определить, за какое минимальное число ходов он сможет совершить свое путешествие.
Первая строка входного файла содержит координаты стартового поля `x_s,\ y_s`. Вторая строка содержит координаты поля, на которое король хочет попасть `x_t,\ y_t`. Следующая строка содержит число `n` — количество белых фигур (`0\ ≤\ n\ ≤\ 500`). Затем следует `n` строк, содержащих по два целых числа — координаты фигур. Все координаты не превышают `10^9` по абсолютной величине.
Выведите в выходной файл одно число — количество ходов, которое необходимо сделать королю, чтобы совершить свое путешествие. Если король не сможет добраться до искомой точки, выведите `-1`.

Пример ввода 1

0 0
2 2
1
1 1

Пример вывода 1

3

Пример ввода 2

1 1
4 6
7
0 0
0 1
0 2
2 0
2 1
2 2
1 2

Пример вывода 2

9
Источник: http://neerc.ifmo.ru/school/archive/
loading