【发布时间】:2009-09-28 21:19:35
【问题描述】:
这是关于我发布的关于将一个 NxN 二进制矩阵转换为另一个的问题。我问的问题是代码挑战问题。但是,How to do matrix conversions by row and columns toggles? 提出了类似的问题。我经历了那个线程,并且对如何解决问题有了一些想法。 我在这里重申问题。
“我想编写代码来解决以下问题。我打算使用 C、C++、Java 或 Python,取决于哪个更方便的解决方案。
给定两个 NxN (1
1. 我们可以切换一行,
这将切换该行中的所有值,即它将在该行中将 1 更改为 0 并将 0 更改为 1
2. 我们可以切换一列,
这将切换该列中的所有值,即它将在该列中将 1 更改为 0 并将 0 更改为 1。
如果无法解决,我们打印 -1"
但是,我有以下疑问。
我知道找到将 A 转换为 B 所需的最小切换次数的第一步是计算 A XOR B 。结果中的 1 是必须切换的地方,换句话说,A XOR B 必须使用最少的行和列切换次数将其转换为零矩阵。但是,我不清楚如何使用最少数量的行和列切换将 A XOR B 转换为 zero matrix 。有人可以解释一下吗?
谢谢。
【问题讨论】: