最少步數(bfs)

2022-05-28 01:24:08 字數 1558 閱讀 4656

時間限制:3000 ms  |  記憶體限制:65535 kb

難度:4

描述這有乙個迷宮,有0~8行和0~8列:

1,1,1,1,1,1,1,1,1

1,0,0,1,0,0,1,0,1

1,0,0,1,1,0,0,0,1

1,0,1,0,1,1,0,1,1

1,0,0,0,0,1,0,0,1

1,1,0,1,0,1,0,0,1

1,1,0,1,0,1,0,0,1

1,1,0,1,0,0,0,0,1

1,1,1,1,1,1,1,1,1

0表示道路,1表示牆。

現在輸入乙個道路的座標作為起點,再如輸入乙個道路的座標作為終點,問最少走幾步才能從起點到達終點?

(注:一步是指從一座標點走到其上下左右相鄰座標點,如:從(3,1)到(4,1)。)

輸入第一行輸入乙個整數n(0

輸出輸出最少走幾步。

樣例輸入

2

3 1 5 7

3 1 6 7

樣例輸出

12

11tle code

1 #include 2 #include 3 #include 4 #include 5

using

namespace

std;

6int

a,b,c,t;

7int map[51][51][51];8

int min=100000;9

int dirx[4]=,diry[4]=,dirz[2]=;

10int dfs(int z,int x,int y,int

step)

1122

else

2331

for(i=0;i<2;i++)

3236 map[z][x][y]=0;37

}38return0;

39}40int

main()

4159 }

ac code

1 #include 2 #include 3 #include 4

using

namespace

std;

5int

a,b,c,d,m;

6int x[9][9]=;

17int bfs(int p,int q,int

s)18

26 s++;

27 x[p][q]=1;//

不再返回

28 bfs(p-1,q,s);//

向四周搜尋

29 bfs(p+1

,q,s);

30 bfs(p,q+1

,s);

31 bfs(p,q-1

,s);

32 x[p][q]=0;//

不得返回。。。看了半天才明白

33return0;

34}35int

main()

3646

return0;

47 }

最少步數(bfs)

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 這有乙個迷宮,有0 8行和0 8列 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,...

bfs 最少步數

時間限制 1000 ms 記憶體限制 65536 kb 提交數 455 通過數 241 a b兩點的座標。最少步數。12 1618 1089 no因為a,b兩點是隨機輸入的,所以沒有數學規律,只能用廣度優化搜尋。但是,它們終點一樣,所以我們可以把 1,1 看作起點,把ab看作終點,只需要一次廣度優化...

最少步數 bfs樣板

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 這有乙個迷宮,有0 8行和0 8列 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,...