有乙個n*m的棋盤(1輸入格式:
一行四個資料,棋盤的大小和馬的座標
輸出格式:
乙個n*m的矩陣,代表馬到達某個點最少要走幾步(左對齊,寬5格,不能到達則輸出-1)
輸入樣例#1: 複製
3 3 1 1
輸出樣例#1: 複製
0 3 23 -1 1
2 1 4
主要是bfs的思想(畢竟是bfs經典題qwq)
我們直接通過注釋來理解叭
#includeusingnamespace
std;
intn,m;
struct node//
我們不妨先設乙個結構體
;//建構函式,可以進行賦值操作
};queue
q;int sx,sy;//
當前的步數
int mx[9]=;//
橫座標的移動
int my[9]=;//
縱座標的移動
int st[405][405];//
該點走到需要花費的步數
bool check(int x,int y)//
判斷是否出界
bool used[405][405
];void bfs()//
笨法師 }}
}int
main()
puts(
"");//
換行 }
return0;
}
洛谷 P1443 馬的遍歷
題目概述 有乙個n m的棋盤 1 解題思路 使用廣搜,注意地圖邊界和馬跳的方向即可。可以採用for代替8個if來減少要碼的字。注意棧的讀寫。時間複雜度 o n m 空間複雜度 o n m 源程式 const d array 1.2,1.8 of longint 2,2,1,1,1,1,2,2 1,1...
洛谷 P1443馬的遍歷
有乙個n m的棋盤 1輸入格式 一行四個資料,棋盤的大小和馬的座標 輸出格式 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入樣例 1 複製3 3 1 1 輸出樣例 1 複製0 3 2 3 1 1 2 1 4 include include include i...
洛谷P1443 馬的遍歷
有乙個n m的棋盤 1輸入格式 一行四個資料,棋盤的大小和馬的座標 輸出格式 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入樣例 1 複製 3 3 1 1輸出樣例 1 複製 0 3 2 3 1 1 2 1 4bfs模板題 includeusing names...