eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Расстояние на триангуляции

Расстояние на триангуляции

Имеется правильный многоугольник. Вершины многоугольника последовательно пронумерованы числами от 1 до n. Имеется также триангуляция этого многоугольника, заданная списком из n3 диагоналей.

Заданы q запросов. Каждый запрос задается номерами двух вершин. Для каждого запроса найдите кратчайшее расстояние между этими двумя вершинами, двигаясь по сторонам или заданным диагоналям многоугольника, расстояние равно общему количеству пройденных сторон и диагоналей.

Входные данные

Первая строка содержит количество вершин в многоугольнике n (4n50 000).

Каждая из следующих n3 строк содержит два числа ai, bi - концы i-ой диагонали (1ai, bin, aibi).

Следующая строка содержит количество запросов q (1q100 000).

Каждая из следующих q строк содержит два целых числа xi, yi (1xi, yin) - вершины i-го запроса. Гарантируется, что никакая диагональ не совпадает со стороной многоугольника и никакие две диагонали не совпадают и не пересекаются.

Выходные данные

Для каждого запроса выведите в отдельной строке кратчайшее расстояние.

prb7564.gif

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
6
1 5
2 4
5 2
5
1 3
2 5
3 4
6 3
6 6
Вихідні дані #1
2
1
1
3
0
Джерело 2015 ACM NEERC, Semifinals, December 6, Problem D