描述
西洋棋的棋盤是黑白相間的8 * 8的方格,棋子放在格仔中間。如下圖所示:
王、後、車、象的走子規則如下:
寫乙個程式,給定起始位置和目標位置,計算王、後、車、象從起始位置走到目標位置所需的最少步數。
輸入第一行是測試資料的組數t(0 <= t <= 20)。以下每行是一組測試資料,每組包括棋盤上的兩個位置,第乙個是起始位置,第二個是目標位置。位置用"字母-數字"的形式表示,字母從"a"到"h",數字從"1"到"8"。
輸出對輸入的每組測試資料,輸出王、後、車、象所需的最少步數。如果無法到達,就輸出"inf".
樣例輸入
2樣例輸出a1 c3
f5 f8
2 1 2 13 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 首先分析這個題,王,後,將是一定...