BFS)
文章平均质量分 77
swust_wbh
这个作者很懒,什么都没留下…
展开
-
POJ1915-Knight Moves的启发式搜索(A*)算法
实际代价函数g(n)=31*step;估计代价函数h(n)=当前点到终点的曼哈顿距离*10#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define lc l,m,lc#define rc m+1,r,rc#defin原创 2013-05-02 23:00:01 · 609 阅读 · 1 评论 -
poj 1077--Eight(八数码问题,BFS,A*,全排列的哈希)
#include#include#include#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3f#define lc l,m,lc#define rc m+1,r,rcconst int aim[10]={0,1,2,3,4,5,6,7,8,9};#define N 1000原创 2013-05-02 20:04:18 · 651 阅读 · 0 评论 -
HDU1195的双向bfs
#include#include#include#include#includeusing namespace std;struct node{ char num[4]; int step,hash; void get_hash() { hash=(num[0]-'0')*1000+(num[1]-'0')*100+(num[2]-'0')*10+(nu原创 2013-05-07 11:09:03 · 461 阅读 · 0 评论 -
hdu1175简单的搜索(bfs法)
以转弯次数step作为代价,假设出发就转弯了一次,那么step扩展节点的时候,如果step==1,由于还有两次转弯的机会,所以所有的节点都扩展。当step==2的时候,只有一次转弯的机会了,那么就要取x或者y坐标和终点的x,y坐标相等的,加入队列。当step==3时,只用判断是否到达节点就行了。#include #include #include #include #include原创 2013-05-08 17:04:48 · 460 阅读 · 0 评论