有乙個n*m的棋盤(1輸入格式:
一行四個資料,棋盤的大小和馬的座標
輸出格式:
乙個n*m的矩陣,代表馬到達某個點最少要走幾步(左對齊,寬5格,不能到達則輸出-1)
題解
//其中有好多重複標記的地方,請見諒
#includeusing
namespace
std;
queue
qx;//
橫座標佇列
queue qy;//
縱座標佇列
//我才不會告訴你是我懶得寫結構體了呢
int dx[9]=;
int dy[9]=;//
搜尋時更改座標
int bx,by;//
變換後的座標
int sx,sy;//
起始座標
int nx,ny;//
現在的座標
int n,m;//
棋盤大小
int ans[401][401];//
答案陣列
bool bo[401][401];//
判斷是否走過 false表示不能走,反之能走
void bfs(int x,int y);//
bfsint
main()
else //
輸出return0;
}void bfs(int x,int
y) }
}}
luogu P1443 馬的遍歷 佇列 dfs
題目描述 有乙個n m的棋盤 1 這是乙個簡單的dfs做的 include include memset要用到 include include setw要用到 using namespace std bool vis 500 500 是否走過 intmap 500 500 存步數 int n,m,x...
lg1443馬的遍歷
題目描述 有乙個n m的棋盤 在某個點上有乙個馬,要求你計算出馬到達棋盤上任意乙個點最少要走幾步 輸入輸出格式 輸入格式 一行四個資料,棋盤的大小和馬的座標 輸出格式 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入輸出樣例 輸入樣例 1 複製 3 3 1 1...
洛谷 1443 馬的遍歷
標籤 相似題目 題目有乙個n m的棋盤 1 n,m 400 在某個點上有乙個馬,要求你計算出馬到達棋盤上任意乙個點的最小步數 馬走 日 字 輸入一行四個資料,分別代表棋盤的大小和馬的座標。輸出乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入樣例3 3 1 1 ...