最少轉彎問題

2022-06-08 17:57:13 字數 911 閱讀 4654

記憶體限制:256 mib時間限制:1000 ms標準輸入輸出

題目型別:傳統評測方式:文字比較

題目描述

給出一張地圖,這張地圖被分為n×m(n,m<=100)個方塊,任何乙個方塊不是平地就是高山。平地可以通過,高山則不能。現在你處在地圖的(x1,y1)這塊平地,問:你至少需要拐幾個彎才能到達目的地(x2,y2)?你只能沿著水平和垂直方向的平地上行進,拐彎次數就等於行進方向的改變(從水平到垂直或從垂直到水平)的次數。例如:如圖,最少的拐彎次數為5。

輸入格式

第一行:n和m。

第二至n+1行:乙個矩陣,為地圖。(0:空地;1:高山。)

第n+2行:x1,y1,x2和y2。

輸出格式

只有一行,為最少的轉彎次數。

樣例樣例輸入

5 7 

1 0 0 0 0 1 0

0 0 1 0 1 0 0

0 0 0 0 1 0 1

0 1 1 0 0 0 0

0 0 0 0 1 1 0

1 3 1 7

樣例輸出

5

c++ac**
#includeusing namespace std;

int n,m,a[105][105],x,y,xx,yy,ans=int_max;

int dir[4][2]=,,,};

bool flag[105][105];

struct nodet1,t2;

queue q;

inline void bfs(int x,int y){

t1.x=x,t1.y=y,t1.z=1314520,t1.ans=0;

q.

最少轉彎問題

給出一張地圖,這張地圖被分為n m n,m 100 個方塊,任何乙個方塊不是平地就是高山。平地可以通過,高山則不能。現在你處在地圖的 x1,y1 這塊平地,問 你至少需要轉幾個彎才能到達目的地 x2,y2 你只能沿著水平和垂直方向的平地上行進,轉彎次數就等於行進方向的改變 從水平到垂直或從垂直到水平...

最少轉彎問題

給出一張地圖,這張地圖被分為n m n,m 100 個方塊,任何乙個方塊不是平地就是高山。平地可以通過,高山則不能。現在你處在地圖的 x1,y1 這塊平地,問 你至少需要轉幾個彎才能到達目的地 x2,y2 你只能沿著水平和垂直方向的平地上行進,轉彎次數就等於行進方向的改變 從水平到垂直或從垂直到水平...

最少轉彎問題

題目描述 給出一張地圖,這張地圖被分為n m n,m 100 個方塊,任何乙個方塊不是平地就是高山。平地可以通過,高山則不能。現在你處在地圖的 x1,y1 這塊平地,問 你至少需要拐幾個彎才能到達目的地 x2,y2 你只能沿著水平和垂直方向的平地上行進,拐彎次數就等於行進方向的改變 從水平到垂直或從...