棋盤上的距離

2021-06-25 18:06:15 字數 962 閱讀 4962

描述

西洋棋的棋盤是黑白相間的8 * 8的方格,棋子放在格仔中間。如下圖所示:

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

寫乙個程式,給定起始位置和目標位置,計算王、後、車、象從起始位置走到目標位置所需的最少步數。

輸入第一行是測試資料的組數t(0 <= t <= 20)。以下每行是一組測試資料,每組包括棋盤上的兩個位置,第乙個是起始位置,第二個是目標位置。位置用"字母-數字"的形式表示,字母從"a"到"h",數字從"1"到"8"。

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

樣例輸入

2

a1 c3

f5 f8

樣例輸出

2 1 2 1

3 1 1 inf

下面是**:
#include #include using namespace std;

int main()

{ int ncases;

cin>>ncases;

while(ncases--)

{char begin[5],end[5];

cin>>begin>>end;

int x,y;

x = fabs(begin[0] - end[0]);

y = fabs(begin[1] - end[1]);

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

ps: 本題注意運用橫向與縱向的距離,進行運算,畫圖尋找規律。

棋盤上的距離

王 後 車 象的走子規則如下 王 橫 直 斜都可以走,但每步限走一格。後 橫 直 斜都可以走,每步格數不受限制。車 橫 豎均可以走,不能斜走,格數不限。象 只能斜走,格數不限。寫乙個程式,給定起始位置和目標位置,計算王 後 車 象從起始位置走到目標位置 所需的最少步數。輸入資料 第一行是測試資料的組...

棋盤上的距離

問題描述 西洋棋的棋盤是黑白相間的 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 首先分析這個題,王,後,將是一定...