[Hnoi2010]Fsk物品调度
现在找工作不容易,Lostmonkey 费了好大劲才得到 fsk 公司基层流水线操作员的职位。
流水线上有 个位置,从 到 依次编号。一开始 号位置为空,其他位置 上有编号为 的盒子。Lostmonkey 要按照以下规则重新排列这些盒子。
规则由 个数描述:,其中 表示空位的最终位置。
首先生成一个序列 :
接下来从第一个盒子开始,依次生成每个盒子的最终位置 :
其中 是为了让第 个盒子不与之前的盒子位置相同,而由你设定的非负整数,且 还不能为 。如果有多组 满足要求,你需要选择 最小的;当 相同时选择 最小的。
这样你就得到了所有盒子的最终位置。现在你每次可以把某个盒子移动到空位上,移动后原盒子所在的位置成为空位。请问把所有的盒子移动到目的位置所需的最少步数是多少。
输入格式
第一行包含一个整数 ,表示数据组数。
接下来 行,每行 个数 ,意义如上所述。
输出格式
对于每组数据输出一个数占一行,表示最少移动步数。
样例输入
1
8 3 5 2 7 4
样例输出
6
样例解释
第 个到第 个盒子的最终位置依次是 。
数据范围
- 对于 的数据,;
- 对于 的数据,,;
- 注意计算过程可能超过整型范围。
来源与许可
本题为 HNOI 2010 试题「Fsk 物品调度」,题面与测试数据整理自 BZOJ 1998。
样例 1
输入
1
8 3 5 2 7 4
输出
6