輸入包含多組測試資料。每組輸入由兩個方格組成,每個方格包含乙個小寫字母(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...