八数码问题
八数码问题
前提知识 康拓展开
用途
相当于hash存储序列,使用更加小的空间来存储排列。
公式
$X = a_n*(n-1)!+a_{n-1}(n-2)+…+a_10!$,$a_i$表示当前未出现的数字是排在第几个元素。$0 \leq a_i < i,1 \leq i \leq n$
实现
1 | int fac[maxn]; |
reference:https://blog.csdn.net/cyningsun/article/details/6797128
相当于hash存储序列,使用更加小的空间来存储排列。
$X = a_n*(n-1)!+a_{n-1}(n-2)+…+a_10!$,$a_i$表示当前未出现的数字是排在第几个元素。$0 \leq a_i < i,1 \leq i \leq n$
1 | int fac[maxn]; |
reference:https://blog.csdn.net/cyningsun/article/details/6797128