给定一张20x30'的方格纸'标记任意数量的单元格,以便每个单元格都有奇数个标记的相邻单元格,以便所有单元格连接成一个“块” 相邻小区被定义为紧邻的小区。 (除了对角线细胞外的所有周围细胞)。
我遇到了一个干净的算法问题。我现在有一个,它非常混乱和混乱,我只知道必须有一个更好的方法去做,我只是不确定如何。我正在寻找一种快速实现的算法,因为我没有太多时间来完成程序,我们必须在Ada中编写代码,这不是我的强项。 我目前正在利用我这样做, CanMark(细胞); - 检查是否可以标记单元格。 HasProblem(细胞); - 检查细胞是否具有偶数个周围标记的细胞。 HasFix(细胞); - 检查是否有一系列可以标记的单元格以消除当前存在的问题。
我现在没有代码,但是当我回到家时我会发布。
非常感谢任何帮助。
很抱歉不清楚。我只是想要一个方向,不是你为我做我的问题。我觉得这可以使用图形相关的算法完成,但不知道肯定知道。我此刻没有我的代码,但是当我能够的时候我肯定会发布它。
答案 0 :(得分:0)
我会从小处开始,然后积累起来。最小的(n = 1)就是: * 这显然不起作用,因为有0个邻居(甚至数字)。因此n = 1不存在解决方案。接下来,尝试n = 2。只有一个选择: ** 这有效。 那么n = 3呢?不起作用,没有n = 3的解决方案。 现在,你如何添加它以使n = 4? N = 6?你能形成一种模式吗?