洛谷 P1443 馬的遍歷

2021-10-02 12:06:50 字數 733 閱讀 4910

有乙個n*m的棋盤(1一行四個資料,棋盤的大小和馬的座標

乙個n*m的矩陣,代表馬到達某個點最少要走幾步(左對齊,寬5格,不能到達則輸出-1)

輸入

3 3 1 1

輸出

0 3 2

3 -1 1

2 1 4

#include

#include

#include

#include

using

namespace std;

struct node

;int a,b,m,n,p[

401]

[401]=

;//a:橫座標 b:縱座標 mn:棋盤大小

int dx[9]

=;int dy[9]

=;void

bfs(

int x,

int y)}}

return;}

voidpt(

)if(p[i]

[j]==-2

)printf

("%-5d"

,p[i]

[j]);}

cout<<

"\n";}

return;}

intmain()

運用到的知識:

廣搜遍歷

printf的運用

洛谷 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...