题目描述
有 2n 个数字排成一列,这些数字的范围在 1 到 n 之间,每个数字出现恰好两次。
你可以交换任何两个相邻的数字,如果交换后相邻数字相同,它们会自动消除。其余数字会自动靠近形成新的相邻状态。如果序列缩短后靠近的数字也相同,则会自动消除。直到所有数字全部消除为止,游戏结束。
请帮忙计算一下,最少需要交换多少对数字,才能使游戏结束。
输入格式
第一行:单个正整数 n;
第二行:2n 个数字
输出格式
单个整数:表示消除序列的最少交换次数。
数据范围
对于 30% 数据,1≤n≤100;
对于 60% 数据,1≤n≤2,000;
对于 100% 数据,1≤n≤100,000。
样例数据
输入:
5
5 2 3 1 4 1 4 3 5 2
输出:
2
说明:
先交换4与1,然后交换2与5