#jag2017summerday1g. [jag2017summer_day1_g]ツーリスト問題

[jag2017summer_day1_g]ツーリスト問題

問題文

ツーリストさんは 22 つのリストを持っています。

22 つのリストの長さはいずれも NN で、ii 個目のリストの jj 番目は Ai,jA_{i,j} です。 Ai,jA_{i,j} は正または負の整数で、00 ではありません。

ツーリストさんはこれらのリストに対して以下のような操作を行おうとしています。

  • まず、22 つのリストに含まれる負の整数を全て正の整数に書き換える。このとき、元々同じだった数は同じ数に、異なっていた数は異なった数に書き換えなければならない。
  • 次に、縦 22 マス横 NN マスのマス目が書かれた紙を用意し、ii 行目 jj 列目のマスに ii 個目のリストの jj 番目の数を書き込む。
  • 最後に、隣接したマスに異なる数が書き込まれているような辺と外枠をはさみで切る。すると紙はいくつかのピースに分かれるので、その個数を数える。

ツーリストさんは、うまく負の整数を書き換えることで、分かれるピースの個数をできるだけ少なくしようとしています。 紙はいくつのピースに分かれるでしょうか?

制約

  • 1N1051≦N≦10^5
  • 1Ai,j3001≦|A_{i,j}|≦300

入力

入力は以下の形式で標準入力から与えられる。

NN A1,1A_{1,1} A1,2A_{1,2} ...... A1,NA_{1,N} A2,1A_{2,1} A2,2A_{2,2} ...... A2,NA_{2,N}

出力

紙が分かれたときのピースの個数を出力せよ。


入力例 1

5
1 2 1 2 1
-1 -2 -3 -3 -3

出力例 1

例えば \-1\-1999999 に、\-2\-222 に、\-3\-311 に書き換えると下図のようになり、ピース数は最小の 55 個となります。

92e7ebbff942cc1af02ea1a3e5aa7a75.png


入力例 2

15
1 -1 1 -1 -1 -2 2 -1 3 3 3 -3 -2 -2 1
2 -1 1 1 -1 -2 -1 2 -2 3 3 -2 -2 -2 3

出力例 2