codevs 2855 遊樂園的迷宮 bfs

2022-04-30 04:21:10 字數 1876 閱讀 8161

迷宮可是每個遊樂園必不可少的專案,菜菜當然是要嘗試一下啦。

這個迷宮比較特殊。與其說是迷宮,倒不如說是乙個巨大的格仔。遊樂園給菜菜發了一張地圖,地圖上標明了,這個格仔由n行m列共n*m個小格仔組成。有的格仔可以正常走,標為』.』;有的格仔有陷阱不能走,標為『#』;有的格仔比較特殊,標為『*』,可以向周圍八個方向可走的格仔走一格;目的地標記為『@』。菜菜從左上角處開始,並且可以按中國象棋中的馬和象的方式或者特殊格的八方向來走。如果按照最短的路徑到達目的地,則可以獲得獎勵。

菜菜當然想獲得獎勵啦,於是就來找你幫忙,請你幫忙計算最少需要多少步。

第一行,兩個正整數n,m。

接下來的n行m列描述了地圖。

乙個整數,表示所要走的最小步數。若無法到達目的地則輸出-1。

11 10

對於20%的資料,保證0<n,m≤20

對於100%的資料,保證0<n,m≤200

較長:

#include#include

#include

#include

#include

#include

using

namespace

std;

const

int n=210

;const

int xmx=;

const

int xmy=;

const

int spx=;

const

int spy=;

struct

nodenow,nxt;

inta[n][n];

bool

vis[n][n];

intn,m;

intendx,endy;

queue

q;int

aaa;

inline

intread()

inline

void bfs(int startx,int

starty)

q.push(nxt);

aaa=q.size();}}

}else

if(a[x][y]==2

)

q.push(nxt);}}

}}

}int

main()

scanf("%c

",&c);

}bfs(

1,1);

printf("-1

");return0;

}

//kk:

#include #include

#include

#include

#include

using

namespace

std;

const

int go1[20][2]= ;

struct

node ;

queue

q;int map[210][210],mark[210][210

],n,m;

char s[210

];int

main()

else map[i][j]=0

; }

t.x=sx;

t.y=sy;

t.w=map[1][1

]; t.step=0

; q.push(t);

mark[sx][sy]=1

;

while(!q.empty())

if(tmp.w==0

) }}

else}}

}if(f)printf("

-1\n");

return0;

}

Codevs 2855 遊樂園的迷宮

時間限制 1 s 空間限制 128000 kb 題目等級 gold 迷宮可是每個遊樂園必不可少的專案,菜菜當然是要嘗試一下啦。這個迷宮比較特殊。與其說是迷宮,倒不如說是乙個巨大的格仔。遊樂園給菜菜發了一張地圖,地圖上標明了,這個格仔由n行m列共n m個小格仔組成。有的格仔可以正常走,標為 有的格仔有...

2855 遊樂園的迷宮

時間限制 1 s 空間限制 128000 kb 題目等級 gold 迷宮可是每個遊樂園必不可少的專案,菜菜當然是要嘗試一下啦。這個迷宮比較特殊。與其說是迷宮,倒不如說是乙個巨大的格仔。遊樂園給菜菜發了一張地圖,地圖上標明了,這個格仔由n行m列共n m個小格仔組成。有的格仔可以正常走,標為 有的格仔有...

CODE 遊樂園的迷宮

題目 題目描述 description 迷宮可是每個遊樂園必不可少的專案,菜菜當然是要嘗試一下啦。這個迷宮比較特殊。與其說是迷宮,倒不如說是乙個巨大的格仔。遊樂園給菜菜發了一張地圖,地圖上標明了,這個格仔由n行m列共n m個小格仔組成。有的格仔可以正常走,標為 有的格仔有陷阱不能走,標為 有的格仔比...