#CSPJ1009. 疯狂的企鹅(penguin)

疯狂的企鹅(penguin)

题目描述

在结束了鹅厂企鹅们的训练后,小 Z 巧妙地构思了一个崭新的棋类游戏。这款游戏的舞台是一个 n×nn \times n 的棋盘,棋盘上刚好有 nn 只可爱的企鹅。企鹅们每次可以向四个基本方向(上、下、左、右)之一移动一格,这被定义为一步。小 Z 希望这些企鹅整齐地排列成一行,也就是说,所有的企鹅要么全部位于同一行,要么全部位于同一列。值得一提的是,由于小 Z 对整齐的定义十分严格,他认为企鹅们即使排列在同一条对角线上,也不能算作满足条件。

由于小 Z 要求比较严格,企鹅们急需尽快找到一种排列方法以满足他的要求。你能否为这些无辜的小企鹅们提供一个解决方案,帮助它们以最少的步数达成目标?请注意,在任何时候,都不能有两只企鹅占据棋盘的同一个格子。

输入格式

penguin.in 文件输入数据。

第一行一个整数 nn 表明棋盘大小。

接下来 nn 行,每行两个整数 xi,yix_i,y_i,表示第 ii 只企鹅初始在棋盘的 xix_iyiy_i 列。保证初始企鹅的坐标互不相同。

输出格式

输出到 penguin.out 文件。

一行一个整数表示最少需要的步数。

输入输出样例

5
1 2
2 4
3 4
5 1
5 3
6

样例2

此样例满足 60%60\% 的数据点限制。

点击链接 ex_penguin2.inex_penguin2.out 下载大样例 2 的输入数据和输出数据。

样例3

此样例满足 100%100\% 的数据点限制。

点击链接 ex_penguin3.inex_penguin3.out 下载大样例 3 的输入数据和输出数据。

说明/提示

样例 1 解释

所有企鹅都移动到第 33 列,所需的移动步数是最少的。更具体的移动情况如下:

$(1,2)\rightarrow (1,3),(2,4)\rightarrow (2,3),(3,4)\rightarrow (3,3), (5,1)\rightarrow (4,3),(5,3)\rightarrow (5,3)$

所需步数分别为 1+1+1+3+0=61+1+1+3+0=6 步。可以证明,没有步数更少的移动方案。

数据范围

对于 20%20\% 的数据,n8n≤8

对于 60%60\% 的数据,n5000n≤5000

对于 100%100\% 的数据,n6105,1xi,yinn \le 6 * 10^5,1 \le x_i,y_i \le n 并且保证初识时企鹅的坐标互不相同。