是否可以使用给定的规则解决以下网格

时间:2017-07-14 20:09:07

标签: algorithm computer-science

注意:这不是一个家庭作业问题。

你可以认为这是一个编程问题,答案是它是否有解决方案。

几天前我和朋友说话,我请他解决一个简单的益智游戏。游戏有点像数独游戏,10分钟后,他放弃并告诉我没有解决方案。

游戏的工作原理如下:

给定一个空白的9x9网格,你的目标是用颜色(红色,蓝色,绿色)填充它,这样每个列,行和九个3×3子网格中的每一个只包含3个红色,3个蓝色,和3绿色。

规则:

  1. 每行/每列/ 3x3子网格必须只包含3个红色,3个蓝色,3个绿色。
  2. 在任何行/列中没有3个相同颜色可以出现在彼此旁边(例如,不允许RRRBGBGBG,但允许RRGGBRGBB)
  3. 对于仍然对这个问题感兴趣的人......还有一个附加规则。

    1. 3x3方格不能重复。现在,@PavelPájaHalbich
    2. 会变得更难

      问题:

      有解决方案吗?

2 个答案:

答案 0 :(得分:2)

如果我理解正确,这是一个有效的解决方案,对吗?

Solution

答案 1 :(得分:2)

根据建议的额外规则“3x3正方形不能重复”,这有效:

1 1 2|1 2 3|2 3 3
1 2 3|1 2 3|1 2 3
2 3 3|2 3 1|1 2 1
-----------------
1 1 2|1 2 3|2 3 3
2 2 3|2 3 1|3 1 1
3 3 1|3 1 2|1 2 2
-----------------
2 1 1|2 3 1|3 3 2
3 2 2|3 1 2|3 1 1
3 3 1|3 1 2|2 1 2

对对角线和对角线应用“no 3相同的连续”:

1 1 2|1 2 3|2 3 3
1 2 3|1 2 3|1 2 3
3 2 3|2 3 1|1 2 1
-----------------
1 3 1|1 2 2|3 3 2
2 1 2|2 3 3|1 1 3
3 2 3|3 1 1|2 1 2
-----------------
3 1 1|2 3 1|2 3 2
2 3 1|3 1 2|3 2 1
2 3 2|3 1 2|3 1 1