#B1282. 反推空位移动秒数
反推空位移动秒数
【题目描述】
数组的移动规则与上一题相同。
每一秒会指定一个非零元素,将它移动到当前 所在的位置,并把它原来的位置变为新的 。
第 秒移动元素 ,第 秒移动元素 ,依次类推,第 秒移动元素 ,第 秒再次移动元素 。
给定第 秒的排列和目标排列,请求出使初始排列变为目标排列的最小非负整数 ;若不存在这样的 ,输出 。
【输入描述】
第一行输入一个整数 。
第二行输入第 秒的排列。
第三行输入目标排列。
保证:
- ;
- 两个排列均为 到 的排列。
【输出描述】
输出最小的非负整数 ;若无解,输出 -1。
【样例 1】
【样例 1 输入】
4
0 1 2 3
1 2 0 3
【样例 1 输出】
2
【样例 1 解释】
第 秒状态为 1 0 2 3,第 秒状态为 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