Олимпиадный тренинг

Задача . B. Найди шарик


Задача

Темы: реализация *1200

Петя и Вася играют в следующую игру. У Пети есть n непрозрачных стаканов, стоящих в ряд. Места, на которых стоят стаканы, пронумерованы целыми числами от 1 до n слева направо. Обратите внимание, что пронумерованы места, а не сами стаканы.

Сначала Петя кладет шарик под стакан, стоящий на месте номер s. Затем Петя совершает некоторое (возможно, нулевое) количество операций перемешивания. Одна операция перемешивания состоит в перемещении стакана на первом месте на место p1, стакана на втором месте на место p2 и так далее. То есть стакан с места i переместится на место pi. Считайте, что все перемещения стаканов происходят одновременно. Во время перемешивания стаканов шарик не перекатывается из стакана в стакан, он перемещается вместе с тем стаканом, в который его положили изначально.

После всех операций перемешивания Петя показывает Васе, что шарик оказался на месте t. Задача Васи состоит в том, чтобы сказать, какое минимальное количество операций перемешивания совершил Петя, или определить, что Петя совершил ошибку, и шарик не мог попасть из позиции s в позицию t.

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

В первой строке содержатся три целых числа: n, s, t (1 ≤ n ≤ 105; 1 ≤ s, t ≤ n) — количество стаканов, начальное положение шарика и конечное положение шарика. Во второй строке содержатся n целых чисел, разделенных пробелами: p1, p2, ..., pn (1 ≤ pi ≤ n) — параметры операции перемешивания. Гарантируется, что все pi различны.

Обратите внимание, что s может быть равно t.

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

Если шарик может переместиться с места s на место t, то в единственной строке выведите целое неотрицательное число — минимальное количество операций перемешивания, необходимых для того, чтобы шарик попал на место t. Если же это невозможно, то выведите число -1.


Примеры
Входные данныеВыходные данные
1 4 2 1
2 3 4 1
3
2 4 3 3
4 1 3 2
0
3 4 3 4
1 2 3 4
-1
4 3 1 3
2 1 3
-1

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя