#P12910. [NERC 2020] King's Task
[NERC 2020] King's Task
Description
勇敢的骑士来到国王面前,请求迎娶公主。国王知道骑士很勇敢,但他还想确认骑士是否足够聪明。于是国王给骑士布置了以下任务:
有一个从 到 的数字排列 。你可以进行两种操作:
- 交换 和 、 和 、...、 和 (即相邻两两交换)。
- 交换 和 、 和 、...、 和 (即前半部分与后半部分对应位置交换)。
任务要求找到将给定排列排序所需的最少操作次数。
实际上骑士并没有那么聪明,但他很有魅力,所以公主请你帮助他完成国王的任务。
Input Format
第一行包含整数 ()。
第二行包含 个整数 —— 表示从 1 到 的一个排列。
Output Format
输出一个整数 —— 将排列排序所需的最少操作次数。如果无法通过这些操作将排列排序,则输出 。
3
6 3 2 5 4 1
3
2
3 4 2 1
-1
4
1 2 3 4 5 6 7 8
0
Hint
在第一个样例中,可以通过三次操作将排列排序:
- 执行操作 1:。
- 执行操作 2:。
- 执行操作 1:。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号