POJ 1381应该用什么法则解?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 23:06:51
POJ 1381应该用什么法则解?

POJ 1381应该用什么法则解?
POJ 1381应该用什么法则解?

POJ 1381应该用什么法则解?
题意:在一个m * n的格木直径机器人走,走在旅途中或打开命令
去是每秒1-3米,
又是指90度的大转弯.花一秒钟,
要求,从开始到结束的秒数
想法:直接BFS转型的状态,要注意仔细点就ok了.
源代码如下:
#包括
包括
包括
包括出现在的 BR />使用命名空间std;
const int的INF = 100000000;
typedef结构节点
{
诠释x,;/ /记录坐标
诠释时间;/ /记录时间
诠释e;/ /记录方向
}状态;
整数N,M ;/ /代表
State状态的行和列的[52] 52] ;/ /使用状态的搜索记录
地图[52] [52] ;/ /用来记录在地图
国家开始结束;/ /记录开始与目标坐标
答;/ /记录最少的步数
:BOOL去(国家老国*现在,诠释克拉)
{
(old.d == 0 )/ /北
{
现在 - > X = old.x - 克拉;
现在> Y = old.y;
}
否则,如果(old.d == 1)/ /到东部
{
现在 - > X = old.x;
现在 - > Y = old.y +克拉;
}
其他(old.D == 2)/ /到南
{
现在 - > X = old.x + CT;
现在> Y =老.Y;
}
/ /到西部
{
现在 - > X = old.x
现在 - > Y = old.y - 克拉;
}
现在时间= old.time + 1;
现在 - > D = old.d;
(现在 - > X> = 1 && - > Y> = 1 && - > X Y X - 1] [现在Y - 1] &&!图[-X - 1] [现在 - > Y] &&!地图现在 - > X] [现在 - > Y - 1]
&&!地图现在 - >] [->?])
返回true;
返回FALSE;
}
无效(DFS)
{
I,J;
队列状态> Q;
国家老,现在
start.time = 0;
状态[start.x] [start.y].时间= 0;
q.push(开始);
而(!q.empty()的)
{
老q.front页();
q POP();
/ / cout