#翻转牛群

题目描述

农夫约翰偶尔会遇到无聊的青少年,他们晚上去他的农场,把奶牛们弄翻。一天早上,他醒来发现事情又发生了——他的 N∗N 头奶牛排列成了一个完美的 N∗N 方阵(1≤N≤10),但他发现其中一些现在已经被弄翻了,而奶牛们比较笨重,没法自己站起来。

幸运的是,农夫约翰用他的拖拉机和叉车上的零件制造了一台出色的机器---“奶牛救星3000”,它可以一次让一大群奶牛站起来,帮助他尽快让所有奶牛重新站起来。他可以将机器应用于他的奶牛方阵中的任何“左上矩形”——一个包含左上角位置奶牛的矩形子矩阵。当他这样做的时候,机器会翻转这个矩形中的每一头牛,让翻倒的奶牛站起来,但不幸的是,也会把原来站起来的奶牛翻倒!换句话说,机器“切换”矩形中每头牛的状态。

农民约翰认为,通过将他的机器多次应用于适当的矩形集合,他最终可以将所有奶牛恢复到它们站起来的状态。请帮助他确定完成此操作所需的机器应用程序的最小次数。

输入格式

输入第一行包含一个正整数N。 接下来N行,每行有N个0或者1,表示每行奶牛的状态,0表示站着的奶牛,1表示倒下的奶牛。

输出格式

输出一行一个整数,表示使用机器让所有奶牛站起来的最小次数。

样例输入
3
001
111
111
样例输出
2
提示

第一次可以对所有奶牛翻转,变成

110

000

000

第二次对第一行的前两个奶牛翻转,变成

000

000

000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

停暮_星月志

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值