NYOJ 58 最少步數

2021-06-23 06:47:13 字數 1036 閱讀 1224

題目:

這有乙個迷宮,有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

輸出輸出最少走幾步。

思路1:就是用bfs+priority_queue;

思路2:dfs

下面是**:

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int num[9][9]= ;

struct node ;

};int dir_x[4]= ;

int dir_y[4]= ;

int a,b,c,d,len,minlen;

bool vis[9][9];

void bfs()

for(int i=0; i<4; i++)

q.push(p1);

vis[p1.x][p1.y]=true;}}

}void dfs(int i,int j)

if(i==c&&j==d)

for(int k=0; k<4; k++) }}

int main()

return 0;

}

NYOJ 58 最少步數

時間限制 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,...

nyoj 58 最少步數

時間限制 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,...

NYOJ 58 最少步數

時間限制 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,...