1245 - 奶牛翻转(USACO 2017)

通过次数

2

提交次数

2

时间限制 : 1 秒
内存限制 : 128 MB

Farmer John有时会苦恼于一些无聊的少年在晚上到访他的农场并把一些奶牛翻转过来。他在某天早上醒来时发现 这件事情再次发生了一一在前一夜他的N^2头奶牛还在N x N ( 1 < N < 10 )的网格状的草地上吃草,而 到了早上其中一些奶牛却被翻转过来了。
幸运的是,Farmer John用拖拉机和叉车上的零件制作了一台很棒的机器,奶牛翻转器3000,这台机器可以帮他 尽快地将这些奶牛翻转回来。他可以在网格左上角的任意一块矩形草地上(包含左上角奶牛的一个矩形网格)使用 这台机器。当他这么做时,机器将把该矩形中的所有奶牛全部翻转一次,让原来四脚朝天的奶牛重新站好,但不幸 的是,机器也同时会将原来站好的奶牛翻转过来!换句话说,机器可以来回改变矩形网格中每头奶牛的状态。
Farmer John认为,如果合适地使用足够多次机器,他可以把所有奶牛的状态都恢复成站好的状态。请帮他求出最少需要使用几次机器来达到他的目标。
注意到,在同一块矩形草地上使用两次机器是毫无意义的,因为这不会对矩形中的任何奶牛产生任何影响,因此应该考虑对于每个左上角矩形最多使用一次机器。

输入

输入的第一行包含整数N。 接下来N行,每行给出一个长度为N的字符串,0表示站好的奶牛,而1表示四角朝天的奶牛。

输出

输出Farmer John为了把所有奶牛的状态都恢复成站好的状态所使用奶牛翻转器3000的最少次数。

样例

输入

3
001
111
111

输出

2

提示

在该样例中,如果FJ对整块草地(仍然是一个合法的左上角矩形)使用一次机器,奶牛们的状态变为:
110
000
000
接下来就是对于包含左上角的两个1的矩形使用一次机器,此时达成了他的目标。他总共使用了两次机器。