Məsələlər
Хексзмеи в хексболоте
Хексзмеи в хексболоте
Хексболото - это странный тип болота, вымощенного правильными шестиугольными ямочками. Хексзмеи ползают в нем, являясь адаптированными к окружающей среде. Они представляют собой цепочку правильных шестиугольников, каждый из которых строго полностью помещается в одну шестиугольную ямочку.
Хексзмеи передвигают свои секции с ямок в которых они находятся, на соседние. Чтобы не сломать свое тело, части хексзмей, которые были соседними до совершения движения, остаются соседними и после. Когда двигается одна из секций, то прилегающие к ней секции способствуют движению и поэтому не могут двигаться в одно и то же время. Любое число секций, никакие две из которых не являются соседними, могут передвигаться одновременно.
Можно заметить, что хексзмея может передвигать свои секции, находящиеся на концах, в одну из двух ямок, а промежуточные секции только в одну, если такая существует.
Например, в случае отсутствия препятствий, хексзмеи могут ползти вперед, извивая свое тело, как показано на \textit{\textbf{Рисунке 1}}, слева направо. На рисунке змея в каждый момент времени передвигает четыре свои части тела из восьми, и передвигает все свое тело вперед на длину одной ямки после четырех шагов движения. На самом деле, они намного лучше ползают боком, как вьющиеся растения.
\includegraphics{https://static.e-olymp.com/content/50/5021aa33766454a74d69d4a9fe100ccbd209c76d.jpg}
\textit{\textbf{Рисунок1}}: Ползание вперед
Их кожа настолько липкая, что если две секции которые изначально не были соседними, попадут в соседние ямки (\textit{\textbf{Рисунок 2}}), то они склеятся вместе и змея умрет. Две секции не могут уместиться в одной ямке. Это конечно же сковывает передвижение змеи. Иногда им приходится приложить некоторые усилия, чтобы достать кусок еды, даже если он находится в ямке рядом с головой.
\includegraphics{https://static.e-olymp.com/content/ee/ee154c095b6dc3e2326be5465cc091dea32ad54f.jpg}
\textit{\textbf{Рисунок 2}}: Смертельный случай
И там и тут на хексболоте находятся скалы. Каждая скала умещается в точности в одну ямку. Кожа хексзмей не прилипает к скалам, однако змеи не могут заползать на них. И хотя ямки со скалами ограничивают передвижение змей, они в свою очередь хорошо знают географию местности и могут планировать свое передвижение по кратчайшему маршруту.
Вас назначили руководителем группы ученых, которая занимается проведением научных исследований змей на этом болоте. Вам следует завершить начатое исследование, но не в ущерб любой аварии. Ваша задача - оценить как скоро хексзмея, питающаяся людьми, переместит свою голову (первую секцию) в позицию болота, где находится ученый. Секции тела змеи кроме головы безвредны, и ученый, одетый в хай-тек антиприлипающий костюм, может находиться с любой из секцией тела в одной ямке.
\InputFile
Входные данные состоят из нескольких тестов, последняя строка содержит один ноль. Количество тестов не превосходит \textbf{10}.
Каждый тест имеет следующий формат.
\textbf{количество секций у змеи (=n)}
\textbf{x1 y1}
\textbf{x2 y2}
\textbf{...}
\textbf{xn yn}
\textbf{количество скал на болоте (=k)}
\textbf{u1 v1}
\textbf{u2 v2}
\textbf{...}
\textbf{uk vk}
\textbf{X Y}
Первая строка каждого теста содержит число \textbf{n} - количество секций у змеи, оно равно \textbf{2} или более, но никогда не превосходит \textbf{8}. Каждая из следующих \textbf{n} строк содержит \textbf{x} и \textbf{y} координаты секции змеи. Строки описывают начальное положение секций в порядке от головы до хвоста.
Следующая строка задает количество скал \textbf{k} в болоте, это число не отрицательное и не превышает \textbf{100}. Каждая из следующих \textbf{k} строк содержит два целых числа \textbf{u} и \textbf{v} - положение скалы.
Последняя строка содержит два целых числа \textbf{X} и \textbf{Y} - позиция, куда необходимо приползти змее. Голова змеи изначально не находится здесь.
Все значения координат \textbf{x}, \textbf{y}, \textbf{u}, \textbf{v}, \textbf{X} и \textbf{Y} лежат в интервале от \textbf{-999999} до \textbf{999999} включительно. Два числа в строке разделены одним пробелом. Во входных данных не встречаются другие символы, кроме как десятичные цифры, знак минус и пробелы, их разделяющие. Система координат, кодирующая позиции, показана на \textit{\textbf{Рисунке 3}}.
\includegraphics{https://static.e-olymp.com/content/18/18768539d454ef07ce4981a03ee5642bdbba5b25.jpg}
\textit{\textbf{Рисунок 3}}: Система координат
\OutputFile
Для каждого теста вывести строку, содержащую целое число - наименьшее количество шагов, необходимое змее передвинуть свою голову в заданную позицию. Выходные строки не должны содержать никаких других символов.
Считайте, что хексзмеи могут найти решение не более чем за \textbf{20} шагов.
Giriş verilənləri #1
3 2 -2 2 -1 1 0 1 0 2 0 0 4 2 -2 2 -1 2 0 3 0 2 1 -1 0 2 0 0 8 -6 0 -5 0 -4 0 -3 0 -2 0 -1 0 0 0 1 0 1 -1 1 0 0 6 2 -3 3 -3 3 -2 3 -1 3 0 2 1 3 1 -1 1 0 1 1 0 0 3 -8000 4996 -8000 4997 -8000 4998 2 -7999 4999 -8001 5000 -8000 5000 8 10 -8 9 -7 9 -6 9 -5 9 -4 9 -3 9 -2 9 -1 0 0 0 0
Çıxış verilənləri #1
3 9 18 18 19 20