小明很喜歡下西洋棋,一天,他拿著西洋棋中的「馬」時突然想到乙個問題:
給定兩個棋盤上的方格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...