#P2971. 归并排序1:整理绳子[Cow Laundry,2003 Fall]

归并排序1:整理绳子[Cow Laundry,2003 Fall]

题目:整理绳子

题目描述

勤劳的贝西正在晒衣服。她把 N N 根绳子系在了两根平行的木杆之间,每根木杆上有 N N 个绳头。由于贝西粗心大意,挂绳子的时候没有注意位置,所以一些绳子产生了交叉,布局非常混乱。如果从左向右看,第一根木杆上第 i i 个绳头是第 Ai A_i 根绳子的,第二根木杆上第 j j 个绳头是第 Bj B_j 根绳子的。

贝西希望把所有的绳子恢复成不交叉的状态。她只能进行一种交换操作,就是把某一根杆子上相邻的两个绳头交换位置。请问她需要做几步交换操作才能让所有的绳子没有交叉?


输入格式

  • 第一行:单个整数 N N 1N1000 1 \leq N \leq 1000
  • 第二行到第 N+1 N+1 行:第 i+1 i+1 行有两个整数 Ai A_i Bi B_i 1Ai,BiN 1 \leq A_i, B_i \leq N

输出格式

  • 单个整数:表示最少做几次交换才能让所有绳子平行

样例输入

4
4 1
2 3
1 4
3 2

样例输出

4

解释

初始状态:

/|\
 | |
 | \
 | /
\|/

第一次交换:

/|\
 | |
 | /
 | \
\|/

第二次交换:

/|\
 | |
 |/
 |\
\|/

第三次交换:

/|\
 |/
 |\
 | |
\|/

第四次交换:

/|\
/|\
 | |
\|/
\|/

最终状态:

/|\
/|\
 | |
\|/
\|/

提示

  • 每次交换操作只能交换同一根杆子上相邻的两个绳头。
  • 最终目标是使所有绳子都不交叉,即每根绳子的两端都在同一水平线上。