輸入:
第一行兩個整數n, m,為迷宮的長寬。
接下來n行,每行m個數,數之間沒有間隔,為0或1中的乙個。0表示這個格仔可以通過,1表示不可以。假設你現在已經在迷宮座標(1,1)的地方,即左上角,迷宮的出口在(n,m)。每次移動時只能向上下左右4個方向移動到另外乙個可以通過的格仔裡,每次移動算一步。資料保證(1,1),(n,m)可以通過。
輸出:第一行乙個數為需要的最少步數k。
第二行k個字元,每個字元∈,分別表示上下左右。如果有多條長度相同的最短路徑,選擇在此表示方法下字典序最小的乙個。
樣例輸入:
3 3001
100110
樣例輸出:
4rdrd
思路:bfs,因為要找字典序最小的最短路,直接按d,l,r,u的順序遍歷即可解決問題;需要開結構體
struct node;
**://bfs解決學霸的迷宮
#include
using namespace std;
#include
const int maxn=999;
bool vis[maxn][maxn];
int n,m;
char map1[maxn][maxn];
//要求多條最短路中的字典序最小的,直接按d l r u 的順序遍歷
int dx[4]=;
int dy[4]=;
string mac=;
struct node
};bool bfs(int x,int y)
}
}
return false;
}
int main()
bfs(1,1);
return 0;
藍橋杯 演算法提高VIP 掃雷
掃雷遊戲你一定玩過吧!現在給你若干個n m的地雷陣,請你計算出每個矩陣中每個單元格相鄰單元格內地雷的個數,每個單元格最多有8個相鄰的單元格。0 n,m 100 注意兩個矩陣之間應該有乙個空行,由於oj的格式化這裡不能顯示出來 資料規模和約定 0 n,m 100 輸入包含若干個矩陣,對於每個矩陣,第一...
藍橋杯 演算法提高VIP 班級排名
題目描述 達達在陶陶的影響下,也對學習慢慢的產生了興趣。他在每次考試之後,都會追著老師問,自己在班級的總名次是多少。考試一多,老師也不耐煩了,於是他給了達達所有人的成績,讓他自己去算出自己的排名。可人太多了,達達也無法立即算出來,於是他想讓你幫幫他。資料規模和約定 n 100,名字長度不超過30,分...
藍橋杯 演算法提高VIP 交換Easy
時間限制 1sec 記憶體限制 128mb 題目描述 給定n個整數組成的序列,每次交換當前第x個與第y個整數,要求輸出最終的序列。輸入 第一行為序列的大小n 1 n 1000 和操作個數m 1 m 1000 第二行包含n個數字,表示初始序列。接下來m行,每行兩個整數x,y 1 x,y n 表示要交換...