學霸的迷宮

2021-08-21 12:46:41 字數 2310 閱讀 5609

學霸的迷宮  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

學霸搶走了大家的作業,班長為了幫同學們找回作業,決定去找學霸決鬥。但學霸為了不要別人打擾,住在乙個城堡裡,城堡外面是乙個二維的格仔迷宮,要進城堡必須得先通過迷宮。因為班長還有妹子要陪,磨刀不誤砍柴功,他為了節約時間,從線人那裡搞到了迷宮的地圖,準備提前計算最短的路線。可是他現在正向妹子解釋這件事情,於是就委託你幫他找一條最短的路線。

輸入格式

第一行兩個整數n, m,為迷宮的長寬。

接下來n行,每行m個數,數之間沒有間隔,為0或1中的乙個。0表示這個格仔可以通過,1表示不可以。假設你現在已經在迷宮座標(1,1)的地方,即左上角,迷宮的出口在(n,m)。每次移動時只能向上下左右4個方向移動到另外乙個可以通過的格仔裡,每次移動算一步。資料保證(1,1),(n,m)可以通過。

輸出格式

第一行乙個數為需要的最少步數k。

第二行k個字元,每個字元∈,分別表示上下左右。如果有多條長度相同的最短路徑,選擇在此表示方法下字典序最小的乙個。

樣例輸入

input sample 1:

3 3001

100110

input sample 2:

3 3000

000000

樣例輸出

output sample 1:

4rdrd

output sample 2:

4ddrr

資料規模和約定

有20%的資料滿足:1<=n,m<=10

有50%的資料滿足:1<=n,m<=50

有100%的資料滿足:1<=n,m<=500。

提交序號	2492113

作者 吳錦誠

提交時間 07-17 18:32:23

評測結果 正確

得分 100

cpu使用 31ms

記憶體使用 2.175mb

試題名稱 學霸的迷宮

語言 c++

#include #include #include #include #include using namespace std;

struct node

;int n, m, mix[500][500], dx[4] = , dy[4] = ;

char ways[4] = ;

string tt[4] = ;

bool qflag[500][500];

setres;

bool operator<(const node &a, const node &b)

bool check(node t)

if (qflag[x][y])

if (mix[x][y] == 1)

return true;

}void bfs()

else

else}}

qflag[top.x][top.y] = true;

// cout << "---top(" << top.x << "," << top.y << ")" << endl;

for (int i = 0; i < 4; i++)

}// cout << "***top(" << top.x << "," << top.y << ")探索完畢" << endl<< endl;

}}int main()

}res.clear();

bfs();

if (res.empty())

else

}return 0;

}詳細記錄

1 正確 10.00 0ms 2.101mb 輸入 輸出

2 正確 10.00 0ms 2.101mb vip特權

3 正確 10.00 0ms 2.109mb vip特權

4 正確 10.00 0ms 2.101mb vip特權

5 正確 10.00 0ms 2.113mb vip特權

6 正確 10.00 0ms 2.105mb vip特權

7 正確 10.00 0ms 2.113mb vip特權

8 正確 10.00 15ms 2.148mb vip特權

9 正確 10.00 31ms 2.148mb vip特權

10 正確 10.00 31ms 2.175mb vip特權

學霸的迷宮

問題描述 學霸搶走了大家的作業,班長為了幫同學們找回作業,決定去找學霸決鬥。但學霸為了不要別人打擾,住在乙個城堡裡,城堡外面是乙個二維的格仔迷宮,要進城堡必須得先通過迷宮。因為班長還有妹子要陪,磨刀不誤砍柴功,他為了節約時間,從線人那裡搞到了迷宮的地圖,準備提前計算最短的路線。可是他現在正向妹子解釋...

搜尋 學霸的迷宮

題目描述 學霸搶走了大家的作業,班長為了幫同學們找回作業,決定去找學霸決鬥。但學霸為了不要別人打擾,住在乙個城堡裡,城堡外面是乙個二維的格仔迷宮,要進城堡必須得先通過迷宮。因為班長還有妹子要陪,磨刀不誤砍柴功,他為了節約時間,從線人那裡搞到了迷宮的地圖,準備提前計算最短的路線。可是他現在正向妹子解釋...

學霸的迷宮 BFS

演算法提高 學霸的迷宮 時間限制 1.0s 記憶體限制 256.0mb 問題描述 學霸搶走了大家的作業,班長為了幫同學們找回作業,決定去找學霸決鬥。但學霸為了不要別人打擾,住在乙個城堡裡,城堡外面是乙個二維的格仔迷宮,要進城堡必須得先通過迷宮。因為班長還有妹子要陪,磨刀不誤砍柴功,他為了節約時間,從...