Problem B 殘缺的棋盤

2021-08-21 20:17:54 字數 887 閱讀 7287

在西洋棋裡,王是最重要的乙個棋子。每一步,王可以往上下左右或者對角線方向移動一

步,如下圖所示。

給定兩個格仔 a(r1,c1), b(r2,c2),你的任務是計算出乙個王從 a 到 b 至少需要走多少步。為了

避免題目太簡單,我們從棋盤裡拿掉了乙個格仔 c(r3,c3)(abc 保證互不相同),要求王從 a

走到 b 的過程中不能進入格仔 c。在本題中,各行從上到下編號為 1~8,各列從左到右編號為

1~8。

輸入包含不超過 10000 組資料。每組資料報含 6 個整數 r1, c1, r2, c2, r3, c3 (1<=r1, c1, r2, c2, r3,

c3<=8). 三個格仔 a, b, c 保證各不相同。

對於每組資料,輸出測試點編號和最少步數

1 1 8 7 5 6

1 1 3 3 2 2

case 1: 7

case 2: 3

思路:如果按照找規律來還是非常簡單的,如果起始位置在斜對角,並且去掉的點不在對角線上是一種,在對角線上是第二種,如果起始位置在一條直線上那麼去掉的點在哪都一樣。如果按照搜尋會的麻煩一點,但是可以練習演算法

#include #include using namespace std;

const int m=10;

int main()

int ans=max(max(r1,r2)-min(r1,r2),max(c1,c2)-min(c1,c2));

printf("case %d: %d\n",ca++,ans);

}return 0;

}

2 2 1 殘缺棋盤

殘缺棋盤 defective chessboard 是乙個有2k 2k 個方格的棋盤,其中恰有乙個方格殘缺。圖2 3給出k 2時各種可能的殘缺棋盤,其中殘缺的方格用陰影表示。注意當k 0時,僅存在一種可能的殘缺棋盤 如圖1 4 3 a所示 事實上,對於任意k,恰好存在22k 種不同的殘缺棋盤。殘缺棋...

殘缺的棋盤 數學

題目 i.殘缺的棋盤 在西洋棋裡,王是最重要的乙個棋子。每一步,王可以往上下左右或者對角線方向移動一 步,如下圖所示。給定兩個格仔 a r1,c1 b r2,c2 你的任務是計算出乙個王從 a到 b至少需要走多少步。為了 避免題目太簡單,我們從棋盤裡拿掉了乙個格仔 c r3,c3 abc 保證互不相...

殘缺的棋盤(BFS)

一道bfs版題,留一下方便以後 在西洋棋裡,王是最重要的乙個棋子。每一步,王可以往上下左右或者對角線方向移動一 步,如下圖所示。給定兩個格仔 a r1,c1 b r2,c2 你的任務是計算出乙個王從 a 到 b 至少需要走多少步。為了避免題目太簡單,我們從棋盤裡拿掉了乙個格仔 c r3,c3 abc...