#2125. Perimeter

Perimeter

题目描述

农夫约翰已经在他的一片田地中间放置了n\red{n(}1<=n<=50000\red{1<=n<=50000)}个干草堆。我们可以认为这片田地是由1000000×1000000\red{1000000\times1000000 }个小方格组成的矩阵,每个干草堆占据一个小方格(当然,没有两堆干 草占据同一个格子)

FJ\red{FJ }注意到他的干草堆组成了一个大的连通块,这就意味着从任何一个草堆走起,可以通过相邻草堆走若干步到达其他任意的草堆。这个连通块的内部可能包含若干个"洞"\red{--}被干草堆完全包围的空白格子。

请帮助FJ\red{FJ}计算整个连通块的周长。计算周长时请不要考虑"洞"。

输入格式

第一行:干草堆的数量 n\red{n}

2\red{2}~n+1\red{n+1}行:每行两个数,表示干草堆的坐标(x\red{x,}y\red{y)},满足1<=x,y<=1000000\red{1<=x,y<=1000000}

输出格式

连通块的周长p\red{p}

样例

输入样例

8 
10005 200003 
10005 200004 
10008 200004 
10005 200005 
10006 200003 
10007 200003 
10007 200004 
10006 200005

输出样例

14

提示

由干草捆组成的连通区域如下所示:

XXXXXXXX\red{XX X XX XXX}

连接区域的周长长度为 14\red{14(}例如,区域的左侧占总长度的 3\red{3)}。观察中间的洞对这个数字没有贡献。