题解
对于当前行或者列的操作次数,只有0或者1次,再多操作没有意义,最终结果与操作的顺序无关,考虑到 n 最大只有 4,我们可以暴力枚举每行每列是否操作。
时间复杂度O(2n×2n×n2)
AC代码
n = int(input())
a = [list(map(int, input().split())) for i in range(n)]
P1858.2024.7.27-OPPO-第二题-小 O 的矩阵(第三套)
小 O 有两个 (n×n) 行列的 01 方阵 A 和 B,他希望用最少的操作次数将 A 和 B 变相等。具体的,每次操作他可以选择 A 矩阵的一行或者一列,将此行或列的所有数字进行反转,即:0 变 1,1 变 0。
他想知道自己最少需要几次操作可以做到,或者永远无法做到,请你帮帮他吧。
输入描述
-
第一行输入一个 n (1≤n≤4),表示方阵的长和宽。
-
此后 n 行,每行输入一个整数(保证为 0 或者 1),表示方阵 A。
-
此后 n 行,每行输入一个整数(保证为 0 或者 1),表示方阵 B。
样例输入
3
1 0 1
0 1 0
0 0 0
1 0 1
0 1 0
1 1 1
样例输出
1
样例解释
翻转A的最后一行