八数码游戏(八数码问题)描述为:在3×3组成的九宫格棋盘上,摆有八个将牌,每一个将牌都刻有1-8八个数码中的某一个数码。棋盘中留有一个空格,允许其周围的某一个将牌向空格移动,这样通过移动将牌就可以不断改变将牌的布局。这种游戏求解的问题是:给定一种初始的将牌布局或结构(称初始状态)和一个目标的布局(称 ...
分类:
其他好文 时间:
2016-12-12 22:43:08
阅读次数:
247
oj上简化的八数码问题,最强的数据仅仅是20步; 根据曼哈顿距离构造启发函数; 主算法:IDA*;(使用方法好像不太对......) 未用位运算优化; 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cst ...
分类:
其他好文 时间:
2016-11-28 14:40:16
阅读次数:
274
描述 你一定玩过八数码游戏,它实际上是在一个3*3的网格中进行的,1个空格和1~8这8个数字恰好不重不漏地分布在这3*3的网格中。 例如:5 2 81 3 _4 6 7 在游戏过程中,可以把空格与其上、下、左、右四个方向之一的数字交换(如果存在)。例如在上例中,空格可与左、上、下面的数字交换,分别变 ...
分类:
其他好文 时间:
2016-10-26 19:56:59
阅读次数:
538
Eight Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20993 Accepted Submission(s): 5634Special ...
分类:
其他好文 时间:
2016-10-15 19:58:07
阅读次数:
260
快要NOIP 2016 了,现在已经停课集训了。计划用10天来复习以前学习过的所有内容。首先就是搜索。 八数码是一道很经典的搜索题,普通的bfs就可求出。为了优化效率,我曾经用过康托展开来优化空间,甚至还用过A*来优化时间。不过这道题懒得写了,就一个普普通通的bfs,再加上一个stl 的map就水过 ...
分类:
其他好文 时间:
2016-10-09 00:23:08
阅读次数:
141
特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少 ...
分类:
其他好文 时间:
2016-09-24 12:13:45
阅读次数:
230
八数码问题。 一方面是空间上的优化,用康托展开和逆康托展开来表示八数码的状态。 另一方面是时间上的优化,用启发式搜索(A*),其中评估函数设定为1-8八数字当前位置到目标位置的曼哈顿距离之和。 ...
分类:
其他好文 时间:
2016-09-17 01:59:07
阅读次数:
252
题目大意: 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局 ...
分类:
其他好文 时间:
2016-08-29 22:13:37
阅读次数:
126
题目描述 Description Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们.问题描述在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局( ...
分类:
其他好文 时间:
2016-08-27 11:28:04
阅读次数:
304
Eight Eight Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 30127 Accepted: 13108 Special Judge Description The 15-puzzle has been around f ...
分类:
其他好文 时间:
2016-08-25 23:28:57
阅读次数:
210