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

Algorithm 是否可以使用给定的规则求解以下网格,algorithm,computer-science,Algorithm,Computer Science,注意:这不是家庭作业问题。 您可以认为这是一个编程问题,答案是是否有解决方案 几天前我和我的朋友聊天,我请他解决一个简单的益智游戏。这个游戏就像一个数独游戏,10分钟后,他放弃了,告诉我没有解决办法 游戏的工作原理如下: 给定一个空白的9x9网格,您的目标是用颜色(红、蓝、绿)填充它,以便九个3×3子网格中的每一列、每一行和每一个都只包含3个红色、3个蓝色和3个绿色 规则: 每行/列/3x3子网格只能包含3个红色、3个蓝色和3个绿色 任何行/列中都不能有3种相同的颜色相邻出现(例如,不允许使用R

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

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

几天前我和我的朋友聊天,我请他解决一个简单的益智游戏。这个游戏就像一个数独游戏,10分钟后,他放弃了,告诉我没有解决办法

游戏的工作原理如下:

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

规则:

  • 每行/列/3x3子网格只能包含3个红色、3个蓝色和3个绿色
  • 任何行/列中都不能有3种相同的颜色相邻出现(例如,不允许使用RRRBGBG,但允许使用RRGGBRGBB)
  • 对于仍然对这个问题感兴趣的人,这里有一条补充规则

  • 3x3的方块不能重复。现在,从@Pavel Pája Halbich开始变得更加困难
  • 问题:


    有解决方案吗?

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


    根据建议的额外规则“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
    
    对对角线和反对角线应用“第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
    

    有没有一种解决数独问题的方法,可以让123个永远都不是3个相邻的,456个永远都不是相邻的,789个永远都不是3个相邻的?如果是这样的话,那么看看数独游戏,颜色123红色,456蓝色和789绿色这就像三元版本的@harold谢谢你,我想知道这样的东西是否已经存在:)它已经足够不同了,一个解决方案可能存在,也可能不存在,我现在正在找一个。请转到数学上来。事实证明,它没有我以前那么有趣hoped@harold嗯,这很容易。但是想象一下,我们用3)3x3个不能重复的正方形来扩展规则。现在会更难:)好吧。我觉得这个问题很有趣,显然不是(@theaxis如果你想做这样的游戏,你应该学习数学。例如,数独可以“翻译”成拉丁方的问题()是的,我后来意识到,这可以通过对基本模式的一些变化再次解决。@PavelPájaHalbich只是想知道,如果规则2适用于对角线,会有什么区别吗?@theaxis I可能是错的,但可能不会(有人,请证明我错了:)。想象一下左上角的一些排列,规则1确定。现在需要填充其他方块,这只是基本图案的其他排列。通过逐步完善规则,您可以随时获胜。但是你可以用尼泊尔式编程来证明这一点。如果你用Prolog、Lisp或Scheme编写程序(我建议用第一个)。你只需在那里写下规则,然后要求解决办法。@theaxis举例来说,这将向你解释基本原理。数独解算器只有15行?在Prolog中,这是可能的。在那里,你可以快速迭代你的所有想法,最重要的事实是,它将被数学证明。