題目鏈結
有乙個n*m的棋盤(1一行四個資料,棋盤的大小和馬的座標
乙個n*m的矩陣,代表馬到達某個點最少要走幾步(左對齊,寬5格,不能到達則輸出-1)
3 3 1 1
0 3 2
3 -1 1
2 1 4
bfs的入門題,可以用佇列queue> q來記錄點的遍歷也可以設定struct node來記錄點的遍歷;
make_pair(v1, v2);以v1和v2的值建立乙個新的pair物件,其元素型別分別是v1和v2的型別。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int maxn=
405;
int n,m;
bool vis[maxn]
[maxn]
;//來判斷該點是否走過
int a[maxn]
[maxn]
;//記錄到達改點的步數
int sx,sy;
//起點x,y
queueint,
int>
> q;
//遍歷點的記錄
int dir[8]
[2]=
,,,,
,,,}
;//馬的8種移動可能
boolpd(
int x,
int y)
//判斷要走的點是否越界和是否走過
void
bfs(
int x,
int y)}}
}int
main()
}
P1443 馬的遍歷
題目描述 有乙個n m的棋盤 1輸入輸出格式 輸入格式 一行四個資料,棋盤的大小和馬的座標 輸出格式 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入樣例 1 3 3 1 1 輸出樣例 1 0 3 2 3 1 1 2 1 4bfs題,遍歷一下所有的位置 inc...
p1443馬的遍歷
就是一道很簡單的bfs,我為了練習一下queue型別的函式,第一次沒有用陣列模擬,直接上 這道題有乙個特殊的輸出,就是輸出寬五行,學習一下。include include include include include using namespace std int n,m const int ma...
P1443 馬的遍歷
有乙個n m的棋盤 1一行四個資料,棋盤的大小和馬的座標 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 331 1032 3 11 214 include include include include using namespace std int chess...