判断无解的情况(写完七种境界才发现有直接判断无解的方法): 一个状态表示成一维的形式,求出除0之外所有数字的逆序数之和,也就是每个数字前面比它大的数字的个数的和,称为这个状态的逆序。 若两个状态的逆序奇偶性相同,则可相互到达,否则不可相互到达。 POJ提交记录(从下往上依次为第1,2,3,4,5,6 ...
分类:
其他好文 时间:
2017-03-23 10:39:43
阅读次数:
177
思考还是不周到 没有考虑到0的那种情况 谢谢出数据的人(和善的微笑) 为了学康托和逆康托强行都用了qaq 然而似乎只用康托? 这样使得我的时间非常不优秀 = A = 关于康托 就是求一个序列在原本这么多数的全排列中的序号 这样就能保证八数码移动到的每个序列都有独有的值 方便判重 应该是比stl快一点 ...
分类:
其他好文 时间:
2017-02-26 10:47:27
阅读次数:
188
1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 1225 八数码难题 1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 时间限制: 1 s 空间限制: 128000 KB ...
分类:
其他好文 时间:
2017-02-19 12:21:58
阅读次数:
236
15拼图已经有超过100年; 即使你不叫这个名字知道的话,你已经看到了。它被构造成具有15滑动砖,每一个从1到15上,并且所有包装成4乘4帧与一个瓦块丢失。让我们把丢失的瓷砖“X”; 拼图的目的是安排瓷砖以便它们排序为: 这里唯一合法经营是交流'X'与它共享一个边缘的瓷砖之一。作为一个例子,举动下列 ...
分类:
编程语言 时间:
2017-02-18 11:59:35
阅读次数:
233
Δ路径寻找问题可以归结为隐式图的遍历,它的任务是找到一条凑够初始状态到终止问题的最优路径, 而不是像回溯法那样找到一个符合某些要求的解。 八数码问题就是路径查找问题背景下的经典训练题目。 程序框架 process() 初始化vis数组,初始化初始节点到目标节点的移动距离 dfs()搜索到每一个节点, ...
分类:
其他好文 时间:
2017-02-05 10:44:28
阅读次数:
209
题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的 ...
分类:
其他好文 时间:
2017-02-03 11:12:56
阅读次数:
193
八数码问题 编号为1~8的8个正方形滑块被摆成3行3列(有一个格子留空)。每次可以把与空格相邻的滑块(有公共边才算相邻)移到空格中,而它原来的位置就成为了新的空格。给定初始局面和目标局面(用0表示空格),需要计算出最少的移动步数。 2 6 4 8 1 5 1 3 7 -> 7 3 6 5 8 4 2 ...
分类:
其他好文 时间:
2017-02-01 19:44:10
阅读次数:
151
http://acm.hdu.edu.cn/showproblem.php?pid=1043 题意:给出一个八数码,求出到达指定状态的路径。 思路:路径寻找问题。在这道题里用到的知识点挺多的。第一次用双向BFS来做。 ①双向BFS 在单向BFS的基础上,多建一个从终止状态开始搜索的队列,当然这个时候 ...
分类:
其他好文 时间:
2017-01-22 15:10:18
阅读次数:
274
八数码的八境界 研究经典问题,空说不好,我们拿出一个实际的题目来演绎。八数码问题在北大在线测评系统中有一个对应的题,题目描述如下: Eight Time Limit: 1000MS Memory Limit: 65536K Special Judge Description The 15-puzzl ...
分类:
其他好文 时间:
2016-12-24 01:10:16
阅读次数:
305
康托展开的公式是 X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 举个例子来说明一下: 例如,有一个数组 s = ["A", "B", "C", "D"],它的一个排列 s1 = [ ...
分类:
其他好文 时间:
2016-12-22 06:27:02
阅读次数:
260