poj2312優先佇列BFS

2021-08-07 12:26:47 字數 665 閱讀 7956

題意:

給你乙個m行n列的矩陣。

y代表起點,t代表終點。b、e可以走,s、r不可以走,b的時間花費為2,e為1.

求y到t的最短時間。

思路:用優先佇列bfs一遍就可以了

#include #include#include#include#include#include#includeusing namespace std;

const int maxn=500+10;

const int xx=;

const int yy=;

int m[maxn][maxn],vis1[maxn][maxn],vis2[maxn][maxn][4];

int n,m,c1,c2,r1,r2;

struct node

};int check(int x,int y)

int bfs1()}}

return -1;

}int main()

else if(s[j]=='t')

else if(s[j]=='b')m[i][j]=2;

else if(s[j]=='e')m[i][j]=1;}}

printf("%d\n",bfs1());

} return 0;

}

Poj 2312 ,坦克大戰,BFS的變形

挺有趣的一道題目,然而很容易wa,我就wa了一次,雖然我debug的時候已經知道 出問題了,就是比如說我搜到b和e時,從b搜第三個點,b左邊的e就被搜了,step為3,然而其實他是step為2,這裡的處理方法很是巧妙,可以從b出發時,把b換成e,step 1,形成乙個新的結點加入到佇列中去.之後,和...

優先佇列 BFS

hdu 5433 xiao ming climbing 這題就是優先佇列 bfs 但是一直wa 原因是在搜尋時標記的位置有問題。以前都沒有出現過這種情況 另外就是雖然找過這點的座標 先前到過這個點 但是鬥志值可能不一樣 題目中要求只要不為0就可以,也就是說到這個點的體力消耗可能會不一樣,要取最小的那...

BFS 優先佇列

湘潭大學2018 小明來到乙個由n x m個格仔組成的迷宮,有些格仔是陷阱,用 表示,小明進入陷阱就會死亡,表示沒有陷阱。小明所在的位置用 s 表示,目的地用 t 表示。小明只能向上下左右相鄰的格仔移動,每移動一次花費1秒。有q個單向傳送陣,每個傳送陣各有乙個入口和乙個出口,入口和出口都在迷宮的格仔...