王、後、車、象的走子規則如下:
王:橫、直、斜都可以走,但每步限走一格。
後:橫、直、斜都可以走,每步格數不受限制。
車:橫、豎均可以走,不能斜走,格數不限。
象:只能斜走,格數不限。
寫乙個程式,給定起始位置和目標位置,計算王、後、車、象從起始位置走到目標位置
所需的最少步數。
輸入資料
第一行是測試資料的組數 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 首先分析這個題,王,後,將是一定...