bfs 馬的移動

2021-07-04 12:58:20 字數 510 閱讀 9419

小明很喜歡下西洋棋,一天,他拿著西洋棋中的「馬」時突然想到乙個問題:

給定兩個棋盤上的方格a和b,馬從a跳到b最少需要多少步?

現請你程式設計解決這個問題。

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

int sx,sy; //起始座標

int ex,ey; //目標座標

char s[5],e[5];

int map[9][9]; //地圖

int dir[8][2]=,,,,,,,}; //二維空間馬走日移動

struct node

;void bfs()

map[next.x][next.y]=1;

q.push(next); //將next置入佇列中

}} }

}int main()

bfs();

} return 0;

}

HNCU1101 馬的移動 BFS

輸入包含多組測試資料。每組輸入由兩個方格組成,每個方格包含乙個小寫字母 a h 表示棋盤的列號,和乙個整數 1 8 表示棋盤的行號。對於每組輸入,輸出一行 to get from xx to yy takes n knight moves.e2 e4 a1 b2 b2 c3 a1 h8 a1 h7 ...

馬的移動問題 西洋棋BFS

輸入包含多組測試資料。每組輸入由兩個方格組成,每個方格包含乙個小寫字母 a h 表示棋盤的列號,和乙個整數 1 8 表示棋盤的行號。對於每組輸入,輸出一行 to get from xx to yy takes n knight moves.e2 e4 a1 b2 b2 c3 a1 h8 a1 h7 ...

BFS 馬的遍歷

又是一道裸bfs。主要是為了過洛谷上的試煉場。有乙個n m的棋盤 1 n,m 200 在某個點上有乙個馬,要求你計算出馬到達棋盤上任意乙個點最少要走幾步 輸入描述 一行四個資料,棋盤的大小和馬的座標 輸出描述 乙個n m的矩陣,代表馬到達某個點最少要走幾步 左對齊,寬5格,不能到達則輸出 1 inp...