#5245. [USACO17JAN] Cow Tipping B

[USACO17JAN] Cow Tipping B

问题描述

农夫约翰的N×N头奶牛排列成方阵(1≤N≤10),部分奶牛被推倒了(1表示倒下的牛,0表示站立的牛)。他有一台机器可以翻转左上角矩形区域内所有奶牛的状态(0变1,1变0)。请计算最少需要多少次操作才能使所有奶牛恢复站立状态。

输入格式

  • 第一行:整数N
  • 接下来N行:每行N个字符(0或1),表示奶牛状态

输出格式

  • 最少操作次数

输入样例

3
001
111
111

输出样例

2

样例解释

操作步骤:

  1. 翻转整个3×3方阵: 001 → 110 111 → 000 111 → 000
  2. 翻转左上角2×1区域(前两行第一列): 110 → 000 000 → 110 000 → 000 最终所有奶牛恢复站立状态,共需2次操作。