poj 1657 西洋棋棋盤上的距離

2021-06-26 02:06:53 字數 573 閱讀 5819

題意:給定西洋棋上的乙個起點和乙個終點,問王、後、車、象分別最少走多少步能從起點到終點。

思路:細心就可以。

#include #include #define max(a,b) ((a)>(b)?(a):(b))

int a,b,c,d,t;

int test1()

int test2()

int main()

printf("%d ",max(abs(a-c),abs(b-d)));//王就是橫縱座標差的大者

if(test1())//如果起終點在橫線或者直線上,那麼王、後都可以直接到

printf("1 1 ");

else

//判斷象

if(test2())//斜線上當然能夠一步到

printf("1\n");

else if((a+b)%2 == (c+d)%2)//如果背景顏色相同,必能2步到

printf("2\n");

else

printf("inf\n");

} return 0;

}

POJ 1657求西洋棋的格數

題意 王 後 車 象的走子規則如下 寫乙個程式,給定起始位置和目標位置,計算王 後 車 象從起始位置走到目標位置所需的最少步數。思路 王 橫 直 斜都可以走,但每步限走一格。其步數為 max x,y 後 橫 直 斜都可以走,每步格數不受限制。其步數為 1 可以直走或斜走到達 x y x 0 y 0 ...

列印西洋棋棋盤

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

列印西洋棋棋盤

設定兩個變數,i和j,乙個代表行,乙個代表列,西洋棋為8 8棋盤 i 1是代表列印第一行棋盤,第一行棋盤有灰色和藍色間隔輸出,總共為8列 i 1,j 1代表第一行第一列 i 2,j 3代表第二行第三列 棋盤的規律是i j如果是偶數,就列印藍色色塊,如果是奇數就列印灰色色塊 使用echo ne列印色塊...