#7035. 消除交叉

消除交叉

题目描述

一条大河分北岸与南岸,两岸各有 nn 座码头。

这些码头之间有 nn 条航线,航线的编号为 11nn。每条航线以北岸的码头为起点,以南岸的码头为终点,每条航线的起点码头与终点码头编号各不相同,下图是个例子: 图片1.png

有些航道之间存在交叉,这样非常容易产生撞船事故。小爱想调整一下航线的起点与终点,消除航道间的所有交叉。航道的调整必须稳妥小心,管理部门只允许调整起点相邻或终点相邻的航线。即,如果某两条航道的起点是相邻的,则小爱可以将这两条航线的起点相互交换,同理,如果终点是相邻的,也可以将它们的终点交换。请问最少需要多少次调整,才能消除所有航道之间的交叉消除?

输入格式

第一行:单个整数表示 nn。 第二行:nn 个整数表示 x1,x2,,xnx_1,x_2,\cdots,x_n,其中xix_i表示北岸第ii号码头是第xix_i号航线的起点; 第三行:nn 个整数表示 y1,y2,,yny_1,y_2,\cdots,y_n,其中yiy_i表示南岸第ii号码头是第yiy_i号航线的终点;

输出格式

单个整数:表示消除所有交叉点需要的最少调整次数。

4
4 2 1 3
1 3 4 2
4

数据范围

  • 对于 30%30\% 的分数,n1000n\leq 1000
  • 对于 60%60\% 的分数,n10000n\leq 10000
  • 对于 100%100\% 的分数,1n1000001\leq n\leq 100000