#B1282. 反推空位移动秒数

反推空位移动秒数

【题目描述】

数组的移动规则与上一题相同。

每一秒会指定一个非零元素,将它移动到当前 00 所在的位置,并把它原来的位置变为新的 00。

第 11 秒移动元素 11,第 22 秒移动元素 22,依次类推,第 n−1n-1 秒移动元素 n−1n-1,第 nn 秒再次移动元素 11。

给定第 00 秒的排列和目标排列,请求出使初始排列变为目标排列的最小非负整数 mm;若不存在这样的 mm,输出 −1-1。


【输入描述】

第一行输入一个整数 nn。

第二行输入第 00 秒的排列。

第三行输入目标排列。

保证:

  • 2≤n≤1052\le n\le 10^5;
  • 两个排列均为 00 到 n−1n-1 的排列。

【输出描述】

输出最小的非负整数 mm;若无解,输出 -1。


【样例 1】

【样例 1 输入】

4
0 1 2 3
1 2 0 3

【样例 1 输出】

2

【样例 1 解释】

第 11 秒状态为 1 0 2 3,第 22 秒状态为 1 2 0 3。


【样例 2】

【样例 2 输入】

4
0 1 2 3
0 2 1 3

【样例 2 输出】

-1

【样例 2 解释】

按规则演化的状态中不会出现目标排列。


【样例 3】

【样例 3 输入】

7
6 0 5 1 4 2 3
1 2 6 3 0 4 5

【样例 3 输出】

11