zufeoj 獻給阿爾吉儂的花束

2021-08-21 08:12:43 字數 1090 閱讀 9119

阿爾吉儂是乙隻聰明又慵懶的小白鼠,它最擅長的就是走各種各樣的迷宮。今天它要挑戰乙個非常大的迷宮,研究員們為了鼓勵阿爾吉儂盡快到達終點,就在終點放了一塊阿爾吉儂最喜歡的乳酪。現在研究員們想知道,如果阿爾吉儂足夠聰明,它最少需要多少時間就能吃到乳酪。

迷宮用乙個r×c的字元矩陣來表示。字元s表示阿爾吉儂所在的位置,字元e表示乳酪所在的位置,字元#表示牆壁,字元.表示可以通行。阿爾吉儂在1個單位時間內可以從當前的位置走到它上下左右四個方向上的任意乙個位置,但不能走出地圖邊界。

第一行是乙個正整數t(1 ≤ t ≤ 10),表示一共有t組資料。

每一組資料的第一行包含了兩個用空格分開的正整數r和c(2 ≤ r, c ≤ 200),表示地圖是乙個r×c的矩陣。

接下來的r行描述了地圖的具體內容,每一行包含了c個字元。字元含義如題目描述中所述。保證有且僅有乙個s和e。

對於每一組資料,輸出阿爾吉儂吃到乳酪的最少單位時間。若阿爾吉儂無法吃到乳酪,則輸出「oop!」(只輸出引號裡面的內容,不輸出引號)。每組資料的輸出結果佔一行。

3

3 4.s..

###.

..e.

3 4.s..

.e..

....

3 4.s..

####

..e.

5

1oop!

基礎dfs

#includeusing namespace std;

int n,m;

char mp[222][222];

int dir[4][2]=,,,};

int stx,sty,enx,eny;

const int inf=9999999;

int minn=inf;

bool check(int x,int y)else

}void dfs(int x,int y,int sum)

if(mp[i][j]=='e')}}

dfs(stx,sty,0);

if(minn!=inf)

cout

cout<<"oop!"<} return 0;

}

獻給阿爾吉儂的花束

阿爾吉儂是乙隻聰明又慵懶的小白鼠,它最擅長的就是走各種各樣的迷宮。今天它要挑戰乙個非常大的迷宮,研究員們為了鼓勵阿爾吉儂盡快到達終點,就在終點放了一塊阿爾吉儂最喜歡的乳酪。現在研究員們想知道,如果阿爾吉儂足夠聰明,它最少需要多少時間就能吃到乳酪。迷宮用乙個 r c 的字元矩陣來表示。字元 s 表示阿...

7218 獻給阿爾吉儂的花束

總時間限制 100ms 記憶體限制 65536kb 描述 阿爾吉儂是乙隻聰明又慵懶的小白鼠,它最擅長的就是走各種各樣的迷宮。今天它要挑戰乙個非常大的迷宮,研究員們為了鼓勵阿爾吉儂盡快到達終點,就在終點放了一塊阿爾吉儂最喜歡的乳酪。現在研究員們想知道,如果阿爾吉儂足夠聰明,它最少需要多少時間就能吃到乳...

1256 獻給阿爾吉儂的花束

傳送門 阿爾吉儂是乙隻聰明又慵懶的小白鼠,它最擅長的就是走各種各樣的迷宮。今天它要挑戰乙個非常大的迷宮,研究員們為了鼓勵阿爾吉儂盡快到達終點,就在終點放了一塊阿爾吉儂最喜歡的乳酪。現在研究員們想知道,如果阿爾吉儂足夠聰明,它最少需要多少時間就能吃到乳酪。迷宮用乙個r c的字元矩陣來表示。字元s表示阿...