1345 西洋棋

2021-08-08 21:11:19 字數 702 閱讀 7411

西洋棋的棋盤是黑白相間的8 * 8的方格,棋子放在格仔中間。

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

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

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

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

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

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

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

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

a1 c3

f5 f8

2 1 2 1

3 1 1 inf

關鍵是如何判斷大象的可達性,當兩個點x軸差的絕對值與y軸差的絕對值相等時,兩個點在同一條傾斜的直線上,可是當兩點是在兩條平行的線上時,不太好判斷;傾斜移動一步就是在x和y軸上各移動了一步,所以兩點x軸之差和y軸之差的差能否被2整除可以判斷是否可達

#include #include#include#includeusing namespace std;

int main()

}}

python繪製西洋棋規則口訣 西洋棋口訣

1.用車鎖門 直線或橫線 2.王與王形成馬步 用自己的王逼迫對方王到角落去 3.不是馬步走馬步 想辦法按正確的走法用已方王和對方王走成馬字步的局面 4.捉車就遠離 有時聰明的對方王會來捉你的車,這時就用車離它遠點,記住 離,豎線鎖門就豎線遠離 5.對王就將軍 如果對方的王和已方王走成了對王時,就是將...

西洋棋皇后問題

1 八皇后問題 2 求解思路 3 實現 include include object.h include linklist.h using namespace std using namespace mylib template class queuesolution public object s...

列印西洋棋棋盤

bin bash 列印西洋棋棋盤 設定兩個變數,i 和 j,乙個代表行,乙個代表列,西洋棋為 88 棋盤 i 1 是代表準備列印第一行棋盤,第 1 行棋盤有灰色和藍色間隔輸出,總共為 8 列 i 1,j 1 代表第 1 行的第 1 列 i 2,j 3 代表第 2 行的第 3 列 棋盤的規律是 i j...