電子老鼠闖迷宮

2021-08-11 02:26:51 字數 882 閱讀 1590

有乙隻電子老鼠被困在如下圖所示的迷宮中。這是乙個12*12單元的正方形迷宮,黑色部分表示建築物,白色部分是路。電子老鼠可以在路上向上、下、左、右行走,每一步走乙個格仔。現給定乙個起點s和乙個終點t,求出電子老鼠最少要幾步從起點走到終點。

輸入:本題包含乙個測例。在測例的第一行有四個由空格分隔的整數,分別表示起點的座標s(x.y)和終點的座標t(x,y)。從第二行開始的12行中,每行有12個字元,描述迷宮的情況,其中'x'表示建築物,'.'表示路.

輸出:輸出乙個整數,即電子老鼠走出迷宮至少需要的步數。

#include

#include

using namespace std;

queueq1;

queueq2;

char map[12][12];//迷宮地圖

int sx,sy,tx,ty;//起點和目標座標

int dr[4]=;//0左1下2右3上

int dc[4]=;//0左1下2右3上

int step[12][12];

void readdata();

void init();

int bfs();

int canmoveto(int x,int y,int dire);

int main()}}

void init()

int bfs()

else}}

map[ux][uy]='q';//標記已走過地方

}return(-1);

}int canmoveto(int x,int y,int dire)

x=x+dr[dire];

y=y+dc[dire];

if(map[x][y]=='.')//判是否能走

else

}

1042 電子老鼠闖迷宮

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述 有乙隻電子老鼠被困在如下圖所示的迷宮中。這是乙個12 12單元的正方形迷宮,黑色部分表示建築物,白色部分是路。電子老鼠可以在路上向上 下 左 右行走,每一步走乙個格仔。現給定乙個起點s和乙個終點t,求出電子老鼠最少要幾步從起點...

電子老鼠闖迷宮(廣度優先演算法bfs)

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述有乙隻電子老鼠被困在如下圖所示的迷宮中。這是乙個12 12單元的正方形迷宮,黑色部分表示建築物,白色部分是路。電子老鼠可以在路上向上 下 左 右行走,每一步走乙個格仔。現給定乙個起點s和乙個終點t,求出電子老鼠最少要幾步從起點走...

NOJ1042 演算法實驗三 電子老鼠闖迷宮

描述 有乙隻電子老鼠被困在如下圖所示的迷宮中。這是乙個12 12單元的正方形迷宮,黑色部分表示建築物,白色部分是路。電子老鼠可以在路上向上 下 左 右行走,每一步走乙個格仔。現給定乙個起點s和乙個終點t,求出電子老鼠最少要幾步從起點走到終點。輸入 本題包含乙個測例。在測例的第一行有四個由空格分隔的整...