Q 迷宮尋寶

2021-10-21 19:32:37 字數 909 閱讀 1011

洪尼瑪今天準備去尋寶,在乙個n*n (n行, n列)的迷宮中,存在著乙個入口、一些牆壁以及乙個寶藏。由於迷宮是四連通的,即在迷宮中的乙個位置,只能走到與它直接相鄰的其他四個位置(上、下、左、右)。現洪尼瑪在迷宮的入口處,問他最少需要走幾步才能拿到寶藏?若永遠無法拿到寶藏,則輸出-1。

input

多組測試資料。

每組資料輸入第一行為正整數n,表示迷宮大小。

接下來n行,每行包括n個字元,其中字元』.『表示該位置為空地,字元』#'表示該位置為牆壁,字元』s』表示該位置為入口,字元』e』表示該位置為寶藏,輸入資料中只有這四種字元,並且』s』和』e』僅出現一次。

n≤1000

output

輸出拿到寶藏最少需要走的步數,若永遠無法拿到寶藏,則輸出-1。

#include#include#include#include#includeusing namespace std;

#define ll long long

const int inf = 0x3f3f3f3f;

char g[1010][1010];

bool vis[1010][1010];

int a[4] = ;

int b[4] = ;

struct node;

queueq;

int n,x,y,ex,ey,ans;

void dfs(int x,int y)

if(g[next.x][next.y] == 'e')

} }}

int main()

}} dfs(x,y);

if(ans != inf)

printf("%d\n",ans);

else

printf("-1\n"); }

}

迷宮尋寶(二)

時間限制 1000 ms 記憶體限制 10000 kb 難度 5 描述 乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮是一100 100的個正方形區域,裡面有很多牆,這些牆都是由一些直線構成的,如下圖。牆把迷宮分隔成很多藏寶室,任何兩個藏寶室之間都沒有門...

迷宮尋寶 一

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到開啟這個門所...

NYOJ 迷宮尋寶(一)

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述乙個叫acm的尋寶者找到了乙個藏寶圖,它根據藏寶圖找到了乙個迷宮,這是乙個很特別的迷宮,迷宮裡有n個編過號的門 n 5 它們分別被編號為a,b,c,d,e.為了找到寶藏,acm必須開啟門,但是,開門之前必須在迷宮裡找到這個開啟這個...