殘缺的棋盤 (BFS)

2022-08-17 17:12:18 字數 1221 閱讀 8823

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

給定兩個格仔 a(r1c1) b(r2c2),你的任務是計算出乙個王從 a到 b至少需要走多少步。為了避免題目太簡單,我們從棋盤裡拿掉了乙個格仔 c(r3c3)(abc保證互不相同),要求王從 a走到 b的過程中不能進入格仔 c。在本題中,各行從上到下編號為 1~8,各列從左到右編號為1~8。

輸入包含不超過10000組資料。每組資料報含6個整數r1 c1 r2 c2 r3 c3 (1<=r1 c1 r2 c2 r3c3<=8). 三個格仔a b c 保證各不相同。

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

copy

1 1 8 7 5 6

1 1 3 3 2 2

copy

case 1: 7

case 2: 3

#include #include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define lli long long

#define mem(s,t) memset(s,t,sizeof(s))

#define ok return 0;

#define rep(x) for(int i=0;i>a[i];

#define tle std::ios::sync_with_stdio(false);cin.tie(null);cout.tie(null);

using

namespace

std;

int num[51

];int dir[8][2] = ;

struct

node

;node a,b,c;

int vis[9][9

];void

debug()

}void

bfs()}}

cout

}int

main()

}

殘缺的棋盤(BFS)

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

csu1511 殘缺的棋盤(bfs)

input 輸入包含不超過10000 組資料。每組資料報含6個整數r1,c1,r2,c2,r3,c3 1 r1,c1,r2,c2,r3,c3 8 三個格仔a,b,c保證各不相同。output 對於每組資料,輸出測試點編號和最少步數。sample input 1 1 8 7 5 6 1 1 3 3 2...

哈理工oj 1440 殘缺的棋盤 BFS

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