演算法二 棋盤上的距離 C

2021-10-04 04:30:51 字數 941 閱讀 9462

題目如下:

//注意這裡因為下面用到了絕對值,所以一定要加上這個庫函式

using

namespace std;

intmain()

else

if(y==0)

//同一行

else

//x,y都不為0時

cout<

' '<

' '<

' ';

if(xiang!=-1

) cout<

else

cout<<

"inf"

<

}return0;

}/*首先分析這個題,王,後,將是一定都會到的,但是 相就有時候不能到,分析題目,也就是當起始的位置顏色和結束位置不同色的時候,它是到不了的,即當x-y等於奇數的時候,它到不了,然後再寫**即可。*/

學到的小知識:

c++中的位運算:

以下是摘抄csdn大佬hachilin 的部分:

與運算的用途

①判斷整數的奇偶:

我們判斷乙個數是否被2整除,一般都寫成 if(n % 2 == 0)現在可以換成 if((n&1) == 0)

換句話說,這可以用來判斷乙個整數的奇偶,二進位制的最末位為0表示該數是偶數,最末位為1表示該數為奇數。

… …還有或運算,異或運算的用途等等,現在我還沒用過,想要了解,請檢視大佬部落格:hachilin

棋盤上的距離

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

棋盤上的距離

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

棋盤上的距離

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