洛谷1443 馬的遍歷 BFS

2021-10-23 16:55:04 字數 548 閱讀 3491

馬的遍歷p1443

思路:從開始的點map[sx][sy]開始廣搜,需要注意的是要記錄三個狀態,當前位置的橫縱座標加上到當前位置的步數,可以借助結構體來實現。廣搜後如果沒有被訪問到的,就是永遠也訪問不了的,記為-1.

#include #include #include #include using namespace std;

struct data;

const int n = 410;

int map[n][n];

int n,m,sx,sy;

int xx = ;

int yy = ;

int main());

map[sx][sy] = 0;

while(!q.empty()));

map[dx][dy] = q.front().distance+1;//更新距離}}

q.pop();

}for(int i = 1;i <= n;i++)

cout<}

return 0;

}

洛谷1443 馬的遍歷 bfs

題意 給乙個n m的棋盤,馬在上面走 規則就是象棋中的規則,詳細見 dx,dy陣列定義 問棋盤上每個點馬都需要走幾步到達。思路 簡單bfs。注意輸出應該用 5d 不加空格 1 include2 include3 include4 include 5 include6 include7 include...

洛谷 P1443 馬的遍歷(bfs)

題意 乙個n m的棋盤,給你馬的起始座標,輸出到達棋盤上每一點的最少步數,無法到達則輸出 1。思路 bfs即可。具體解釋見 include include include include include using namespace std int n,m,x,y 棋盤和馬的初始座標 int qu...

洛谷 P1443 馬的遍歷 bfs

問題描述 有乙個nm的棋盤 1m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 輸入 3 3 1 1 輸出 0 3 2 3 1 1 2 1 4 本蒟蒻的第一篇題解,也是研究了半天才搞明白。話不多說直接給思路。本題給出棋盤大小和初始位置求到每個點最少要走幾步。設定乙個佇列陣列...