3109 Inner Vertices

Last-modified: 2012-08-11 (土) 22:43:10

fileproblem?id=3109

時間制限:5000ms
メモリ制限:65536KB

問題

無限に続くグリッドがあり、各頂点が白か黒で塗られている。
ある点が「内側である」とは、同じ行にある2つの黒い頂点が存在して、その間にその点があり、かつ同じ列にある2つの黒い頂点が存在して、その間にその点がある場合である。
1ステップでは、すべての「内側にある」白い頂点が黒い頂点になる。「内側にある」白い頂点がなくなったとき、この操作は終了する。
操作が終わった時の黒い頂点の数を数えるプログラムを書け。

入力

最初の行には、黒い頂点の数n(0<=n<=100000)が与えられる。
続くn行には、黒い頂点の座標をあらわす2つの整数が与えられる。座標の絶対値は10^9を超えない。

出力

最終的な黒い頂点の数を一行に出力せよ。もし操作が終了しない場合は、-1を出力せよ。

入力の例

4
0 2
2 0
-2 0
0 -2

出力の例

5

ヒント

3109_1.png

出展

Northeastern Europe 2005, Northern Subregion