#Z1037. 交换配对

交换配对

题目描述

2n2n 个元素,编号为 1,2,,2n1, 2, \dots, 2n。目标是将它们配成 nn{1,2},{3,4},,{2n1,2n}\{1, 2\}, \{3, 4\}, \dots, \{2n-1, 2n\}(每个数对内的顺序无关,数对之间的顺序也无关)。

当前给定一个排列 p1,p2,,p2np_1, p_2, \dots, p_{2n},其中相邻的两个元素组成当前的一对:{p1,p2}\{p_1, p_2\} 为一对,{p3,p4}\{p_3, p_4\} 为一对,以此类推。

每次操作可以选择排列中的任意两个位置,交换这两个位置上的元素。求最少需要多少次交换,才能使得最终的 nn 对数恰好是目标配对的 nn 个集合。

输入格式

第一行一个整数 nn

第二行 2n2n 个整数 p1,p2,,p2np_1, p_2, \dots, p_{2n},表示当前排列。保证这是一个 112n2n 的排列。

输出格式

输出一行一个整数,表示最少交换次数。

样例

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

样例解释

对于样例 1:当前排列为 [3,5,4,6,2,1][3, 5, 4, 6, 2, 1],当前配对为 {3,5},{4,6},{2,1}\{3, 5\}, \{4, 6\}, \{2, 1\}。目标配对为 {1,2},{3,4},{5,6}\{1, 2\}, \{3, 4\}, \{5, 6\}。交换位置 22335544),得到 [3,4,5,6,2,1][3, 4, 5, 6, 2, 1],此时配对为 {3,4},{5,6},{1,2}\{3, 4\}, \{5, 6\}, \{1, 2\},满足目标。仅需 11 次交换。

对于样例 2:当前排列已完全有序,每一对都已经是目标配对,不需要交换。

对于样例 3:虽然每对内部顺序颠倒({2,1}\{2,1\} 而非 {1,2}\{1,2\}),但集合仍是正确的目标配对,不需要交换。

数据范围与约定

对于所有数据,1n1051 \le n \le 10^5p1,p2,,p2np_1, p_2, \dots, p_{2n}112n2n 的排列。

子任务 分值 限制
11 2525 n8n \le 8
22 3535 n1000n \le 1000
33 4040 n105n \le 10^5

下发样例

[下发样例下载](file://sample.zip)