木乃伊迷宮

2021-08-11 03:24:41 字數 1856 閱讀 4493

描述:

木乃伊地下宮殿是乙個6行6列的迷宮。作為敢到木乃伊地下宮殿裡去探險的你,有沒有跟木乃伊抓迷藏的心理準備呵!遊戲在木乃伊所在的迷宮裡展開,任務就是盡快趕到出口。你一次只能走一步,而木乃伊可以走兩步,但木乃伊是很笨的,他總是先盡量跟你達到同一列,如果已經是同一列了,他才會像你走來,有牆的地方人和木乃伊都不能過,你可以利用障礙物牽制住木乃伊。

輸入:

先輸入牆的數量n,然後在後續的n行裡每行有3個數表示一堵牆,3個數分別為格仔的行、列和牆的位置(0表示這個格仔的下方是牆,1表示這個格仔的右方是牆),再下來的3行每行2個數,分別表示木乃伊、人還有出口的位置。

輸出:

如果能安全逃生則輸出yes,否則輸出no,答案佔一行。

輸入樣例:

5

0 0 0

1 1 1

1 4 1

3 4 1

4 3 0

3 33 1

5 5

輸出樣例:

no

#include

#include

#include

using namespace std;

int n;

int ditu[8][8]=;  //地圖的邊上是為了防止陣列越界 。

int x1,y1,x2,y2,x3,y3; //分別表示人的座標 木乃伊座標 終點座標。

int a,b,c,d;

int a1,b1,c1,d1;

queueq1;

queueq2;  //用來存放人的位置

queueq3;  

queueq4;   //用來存放木乃伊的位置。

int dr[4]=; //四個方向左下右上行的變化情況

int dc[4]=; //列的變化情況

void readdata();

void init();

int bfs();

int canmoveto(int n);

void mugo();

int main()

if(m==1)

} cin>>x1>>y1;

x1=x1+1;

y1=y1+1;

cin>>x2>>y2;

x2=x2+1;

y2=y2+1;

cin>>x3>>y3;

x3=x3+1;

y3=y3+1;  //因為我的地圖邊框多一圈,所以座標要整體加一。 }

void init()

while(j<8)

q1.push(x2);

q2.push(y2);

q3.push(x1);

q4.push(y1); }

int bfs()

if((a1!=x3||b1!=y3)&&(a1!=c1||b1!=d1))//沒到終點且沒被抓到就放入佇列。

} }

} return 0; }

int canmoveto(int n)

else if(n==1&&ditu[a+1][b]==0&&(a+1!=c||b!=d))

else if(n==2&&ditu[a][b+1]==0&&(a!=c||b+1!=d))

else if(n==3&&ditu[a-1][b]==0&&(a-1!=c||b!=d))

return 0; }

void mugo()

}else if(d!=b1)

if(dc1&&ditu[c1+1][d1]==0)//木乃伊在人的上方

}else if(d1!=b1)

if(d1

NOJ1147 演算法實驗三 木乃伊迷宮

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述木乃伊地下宮殿是乙個6行6列的迷宮。作為敢到木乃伊地下宮殿裡去探險的你,有沒有跟木乃伊抓迷藏的心理準備呵!遊戲在木乃伊所在的迷宮裡展開,任務就是盡快趕到出口。你一次只能走一步,而木乃伊可以走兩步,但木乃伊是很笨的,他總是先盡量跟...

小木乃伊到我家(spfa演算法)

aa的歐尼醬qwb是個考古學家,有一天qwb發現了只白白圓圓小小的木乃伊,它是個愛哭鬼卻很努力。qwb想把這麼可愛的小木乃伊送給 aa,於是便找上了快遞姐姐,這下可讓快遞姐姐犯愁了,因為去往aa家的路實在太難走了 甚至有可能沒有路能走到aa家 快遞姐姐 找上聰明的acmer,想請你幫忙找出最快到達a...

迷宮 藍橋 迷宮 BFS DFS

很久沒有認真的寫一道dfs和bfs的題了 今天早上這個題花了1個多小時,竟然還沒對。答案一直出錯,我都快崩潰了,那麼簡單的題。我tm 晚上又重寫了一遍,答案對了。但是還是不知道為什麼早上的錯了。也沒留備份。include include include using namespace std con...