【发布时间】:2011-10-24 09:28:34
【问题描述】:
所以我的目标是编写解决数独难题的方法,我们得到了方法存根“public int[][] solve(int[][] board)”。我们应该使用arc consistency 和domain splitting 来找到解决方案。
-我开始这样做的方式是在板上(键)及其当前域(初始化为 1..9,除非给出)-> HashMap<Point, ArrayList<Integer>> curDomains = new HashMap<Point, ArrayList<Integer>>(); 虽然我不确定这是否是最好的数据结构。
-我的问题是如何表示弧和约束?我有算法的伪代码,但我不知道如何在 java 中表示约束/弧。什么是表示C:要满足的约束集(这是数独板上的有效位置)以及我的弧 A 的最佳方式,其中 X 是一个点,并且c 是约束。
我提前感谢您的帮助 cmets。
【问题讨论】:
-
还要考虑
Map<Point, List<Integer>> curDomains = new HashMap<Point, List<Integer>>(),它使用接口并隐藏实现。
标签: java consistency geometric-arc constraint-satisfaction