首先搜索大家都会,然后就是对于每一种状态进行判断是否之前走过了,这里就要用到hash,然后问题就转变为如何对这个3 ×3的方格进行hash了,我们都知道我们把x当成9的话,方程的数为1 ~ 9,那么我们就能用10进制来唯一表示每一种状态,但是我们会发现这样表示出来的数太大了,所以不采用这种hash方式。
然后就学了康拓展开:0!1!2!……9!表示每一位权值
对于一个排列,看这个数后边的有多少小于他的数,那么这一位上的权值就为它。
因为每一为都可以取0 ~ i(i是0 ~ 8),所以hash出来的值范围是0~n! - 1。