#978. Cow Tipping
Cow Tipping
农场主约翰偶尔会遇到一些无聊的青少年,他们晚上去他的农场,给他的牛倾倒。一天早上,他醒来发现事情又发生了——他的奶牛开始在一个完美的平方网格安排夜间放牧,但他发现其中一些牛现在被翻了。
幸运的是,农场主约翰用拖拉机和铲车上的零件制造了一台很好的机器,即能一次翻转大组奶牛的型奶牛解封器,帮助他尽可能快地把所有的奶牛脚朝下放回。他可以将该机器应用于他的奶牛网格中的任何“左上矩形”——包含左上角奶牛的矩形子网格。当他这样做时,机器会翻转这个矩形中的每头奶牛,将倾斜的奶牛放回它们的脚上,但不幸的是,也会翻转已经脚朝下的奶牛!换句话说,机器“切换”矩形中每头奶牛的状态。
农场主约翰认为,通过将他的机器应用到适当的矩形集合中足够多次,他最终可以将所有的奶牛恢复到它们正确的、未翻转的状态。请帮助他确定完成此操作所需机器的最小应用程序数。
请注意,将机器应用到同一个矩形两次是没有意义的,因为这不会对矩形中的奶牛产生任何影响。因此,您应该只考虑将机器应用于左上角的每个矩形,可能只有一次。
输入格式
输入的第一行是整数。
后面行中的每一行都包含一个由个字符组成的字符串,每个字符分别为(表示头向上的奶牛)或(表示头向下的奶牛)。
输出格式
请输出农场主约翰需要应用奶牛解封器的最小次数,以恢复他所有奶牛的脚朝下。
样例
样例输入
3
001
111
111
样例输出
2
数据范围与提示
- 时间限制:
- 空间限制: