題意:
給乙個n*m的棋盤,馬在上面走(規則就是象棋中的規則,詳細見**dx,dy陣列定義)
問棋盤上每個點馬都需要走幾步到達。
思路:
簡單bfs。注意輸出應該用%-5d(不加空格)
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10
11using
namespace
std;
1213
intn, m;
14struct
nodest;
18int mat[405][405
];19
20int dx[8] = ;
21int dy[8] = ;
2223
bool check(int i, int
j)24
2728
intmain()
2948}49
}
50for(int i = 1; i <= n; i++)
54 printf("\n"
);55}56
57return0;
58 }
洛谷1443 馬的遍歷 BFS
馬的遍歷p1443 思路 從開始的點map sx sy 開始廣搜,需要注意的是要記錄三個狀態,當前位置的橫縱座標加上到當前位置的步數,可以借助結構體來實現。廣搜後如果沒有被訪問到的,就是永遠也訪問不了的,記為 1.include include include include using names...
洛谷 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 本蒟蒻的第一篇題解,也是研究了半天才搞明白。話不多說直接給思路。本題給出棋盤大小和初始位置求到每個點最少要走幾步。設定乙個佇列陣列...