ZCMU1639 殘缺的棋盤

2021-08-21 20:07:07 字數 1119 閱讀 2510

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

給定兩個格仔 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

用廣度優先搜尋演算法(bfs)找最短路徑。

這裡每個點可以朝八個方向走。

#includeusing namespace std;

int r1,c1,r2,c2,r3,c3;

struct note

;int main()

,,,,,,,};

int head,tail;

int i,j,k,n,m,r1,c1,r2,c2,r3,c3,tx,ty,flag;

int sum=0;

while(~scanf("%d %d %d %d %d %d",&r1,&c1,&r2,&c2,&r3,&c3))

if(tx==r2&&ty==c2)

}if(flag==1)

break;

head++;

}printf("case %d:% d\n",++sum,que[tail-1].s);

}return 0;

}

ZCMU 1639 殘缺的棋盤(向量)

time limit 1 sec memory limit 128 mb submit 147 solved 56 submit status web board 在西洋棋裡,王是最重要的乙個棋子。每一步,王可以往上下左右或者對角線方向移動一 步,如下圖所示。給定兩個格仔 a r1,c1 b r2,...

殘缺的棋盤 數學

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

Problem B 殘缺的棋盤

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