TOJ 2470 Robot in Maze BFS求最短路径

热烈庆祝天津大学仁爱学院只用3年就拿到一块铜牌了呵呵~我们以后要再接再厉啊~~

原题地址

C语言代码

#include #include int f[101][101][4];//标记 char maze[101][101]; int x,y,m,n;//x,y起点坐标 struct {int x,y;}ext[4]={{-1,0},{0,1},{1,0},{0,-1}};//上下左右 struct {int x,y,l,r;}q[40001];//q为队列,x、y坐标,l步数,r方向 int bfs(){ int i,j,top,xt,yt,rt; memset(f,0,sizeof(f)); top=0; q[top].x=x; q[top].y=y; q[top].r=0; q[top].l=0; f[x][y][q[top++].r]=1; for(i=0;i=0&&xt=0&&yt=0&&xt=0&&yt=0&&xt=0&&yt

看着课件写啊写啊,本来开始很费解。

我写着写着发现处理三个方向坐标进队的代码一模一样。然后就是向左转时(方向+1)模4,向右转时用(方向+3)模4,转了之后直接进队,直走的时候用ext数组改下坐标。如此而已。

还有那个cnhawk写的代码太抽象额。

你可能感兴趣的:(TOJ 2470 Robot in Maze BFS求最短路径)