棋盤上的距離

2021-06-26 14:55:12 字數 715 閱讀 5926

王、後、車、象的走子規則如下:

 王:橫、直、斜都可以走,但每步限走一格。

 後:橫、直、斜都可以走,每步格數不受限制。

 車:橫、豎均可以走,不能斜走,格數不限。

 象:只能斜走,格數不限。

寫乙個程式,給定起始位置和目標位置,計算王、後、車、象從起始位置走到目標位置

所需的最少步數。

輸入資料

第一行是測試資料的組數 t( 0 <= t <= 20)。以下每行是一組測試資料,每組包括棋盤

上的兩個位置,第乙個是起始位置,第二個是目標位置。位置用"字母-數字"的形式表示,

字母從"a"到"h",數字從"1"到"8"。

輸出要求

對輸入的每組測試資料,輸出王、後、車、象所需的最少步數。如果無法到達,就輸出

"inf".

#include using namespace std;

int main()

{ int ncases,i;

cin>>ncases;

for(i=0;i>begin>>end;

int x=abs(begin[0]-end[0]);//用x和y分別表示起止位置之間x方向和y方向的

//距離

int y=abs(begin[1]-end[1]);

if(x==0&&y==0)

cout<<0<<" "<<0<<" "<<0<<" "<<0<

棋盤上的距離

描述 西洋棋的棋盤是黑白相間的8 8的方格,棋子放在格仔中間。如下圖所示 王 後 車 象的走子規則如下 寫乙個程式,給定起始位置和目標位置,計算王 後 車 象從起始位置走到目標位置所需的最少步數。輸入第一行是測試資料的組數t 0 t 20 以下每行是一組測試資料,每組包括棋盤上的兩個位置,第乙個是起...

棋盤上的距離

問題描述 西洋棋的棋盤是黑白相間的 8 8 的方格,棋子放在格仔中間。如圖3 1 所示 王 後 車 象的走子規則如下 王 橫 直 斜都可以走,但每步限走一格。後 橫 直 斜都可以走,每步格數不受限制。車 橫 豎均可以走,不能斜走,格數不限。象 只能斜走,格數不限。寫乙個程式,給定起始位置和目標位置,...

演算法二 棋盤上的距離 C

題目如下 注意這裡因為下面用到了絕對值,所以一定要加上這個庫函式 using namespace std intmain else if y 0 同一行 else x,y都不為0時 cout if xiang 1 cout else cout inf return0 首先分析這個題,王,後,將是一定...