Codeforces Round 927 (Div. 3) |
---|
Закончено |
Есть игра, в которой вам нужно перемещаться по лабиринту. Лабиринт состоит из $$$n$$$ платформ, соединенных $$$m$$$ проходами.
Каждая платформа находится на уровне $$$l_i$$$, уровни платформ — целые числа от $$$0$$$ до $$$H - 1$$$. За один шаг, если вы находитесь на платформе $$$i$$$, вы можете остаться на ней или перейти на другую платформу $$$j$$$. Чтобы перейти на платформу $$$j$$$, они должны быть соединены проходом, и их уровни должны быть одинаковыми, то есть $$$l_i = l_j$$$.
После каждого шага уровни всех платформ меняются. Новый уровень платформы $$$i$$$ вычисляется как $$$l'_i = (l_i + s_i) \bmod H$$$, для всех $$$i$$$.
Вы начинаете на платформе $$$1$$$. Найдите минимальное количество шагов, необходимых, чтобы добраться до платформы $$$n$$$.
Первая строка ввода содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Затем следуют описания наборов входных данных.
Первая строка каждого набора входных данных содержит три целых числа $$$n$$$, $$$m$$$, и $$$H$$$ ($$$2 \le n \le 10^5$$$, $$$1 \le m \le 10^5$$$, $$$1 \le H \le 10^9$$$).
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$l_i$$$, начальный уровень каждой платформы ($$$0 \le l_i \le H-1$$$).
Третья строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$s_i$$$, изменение уровня для каждой платформы ($$$0 \le s_i \le H-1$$$).
Далее следуют $$$m$$$ строк, содержащих описание проходов. Каждый проход описывается парой целых чисел — платформы, соединенные проходом. Есть не более одного прохода, соединяющего каждую пару платформ, и нет прохода, соединяющего платформу с самой собой.
Сумма $$$n$$$ для всех тестов не превышает $$$10^5$$$, сумма $$$m$$$ для всех тестов не превышает $$$10^5$$$.
Для каждого теста выведите одно целое число, минимальное количество шагов, необходимых, чтобы добраться с платформы $$$1$$$ до платформы $$$n$$$.
Если невозможно добраться до платформы $$$n$$$, выведите $$$-1$$$.
33 3 101 9 42 3 01 23 21 32 1 101 24 61 28 7 2522 14 5 3 10 14 11 19 5 4 10 7 16 18 182 86 33 57 52 61 44 7
6 -1 52
Вот как меняются уровни платформ и какие действия нам нужно выполнить в первом примере.
Платформа 1 | Платформа 2 | Платформа 3 | Действие | |
Шаг 1 | 1 | 9 | 4 | Остаться на платформе 1 |
Шаг 2 | 3 | 2 | 4 | Остаться на платформе 1 |
Шаг 3 | 5 | 5 | 4 | Перейти на платформу 2 |
Шаг 4 | 7 | 8 | 4 | Остаться на платформе 2 |
Шаг 5 | 9 | 1 | 4 | Остаться на платформе 2 |
Шаг 6 | 1 | 4 | 4 | Перейти на платформу 3 |
Название |
---|