HNCU1101 馬的移動 BFS

2021-06-15 11:40:46 字數 1007 閱讀 7644

輸入包含多組測試資料。每組輸入由兩個方格組成,每個方格包含乙個小寫字母(a~h),表示棋盤的列號,和乙個整數(1~8),表示棋盤的行號。

對於每組輸入,輸出一行「to get from xx to yy takes n knight moves.」。

e2 e4

a1 b2

b2 c3

a1 h8

a1 h7

h8 a1

b1 c3

f6 f6

to get from e2 to e4 takes 2 knight moves.

to get from a1 to b2 takes 4 knight moves.

to get from b2 to c3 takes 2 knight moves.

to get from a1 to h8 takes 6 knight moves.

to get from a1 to h7 takes 5 knight moves.

to get from h8 to a1 takes 6 knight moves.

to get from b1 to c3 takes 1 knight moves.

to get from f6 to f6 takes 0 knight moves.

思路:簡單的bfs,只要弄清楚馬的走法就可以了,一開始字元陣列開小了,蛋疼,以後果斷要大方點啊

#include #include #include using namespace std;

struct node

;int vis[8][8];

int sx,sy,ex,ey,ans;

int to[8][2]=;

int check(int x,int y)

void bfs()

for(i = 0;i<8;i++)

}return ;

}int main()

return 0;

}

bfs 馬的移動

小明很喜歡下西洋棋,一天,他拿著西洋棋中的 馬 時突然想到乙個問題 給定兩個棋盤上的方格a和b,馬從a跳到b最少需要多少步?現請你程式設計解決這個問題。include include include include using namespace std int sx,sy 起始座標 int ex,...

馬的移動問題 西洋棋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...