Hust oj 1949 尋找寶藏(BFS)

2021-07-22 18:15:02 字數 1210 閱讀 8611

尋找寶藏

time limit: 1000 ms

memory limit: 32768 k

total submit: 166(73 users)

total accepted: 90(72 users)

rating:

special judge: no

description

在乙個地圖中,* 表示起點, $ 表示寶藏的藏匿地點, # 表示牆,+ 表示通道,問能否找到寶藏。

input

多組測試資料:

對於每組資料:第一行兩個整數n, m。 (n,m<=20)

接下來是乙個n x m 的地圖。

output

若能找到寶藏輸出「redhat v5!」 否則輸出「orz!」。每組輸出資料佔一行。

sample input

7 10

+++++++++*

+#########

++++++++++

#########+

++++++++++

+#########

8 8$#######

#++++++#

#++++++#

#++++++#

#++++++#

#++++++#

######+#

++++++*+

sample output

redhat v5!

orz! 

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

const int maxn = 25;

int vis[maxn][maxn];

char map[maxn][maxn];

int fx[4] = ;

int fy[4] = ;

struct point

;int n,m;

int bfs(int x1,int y1,int x2,int y2)

q.pop();

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

return -1;

}int main()

{ int x1,x2,y1,y2;

while(~scanf("%d%d",&n,&m))

{for(int i=0;i

POJ1949 拓樸排序

拓樸排序 1 將入度為0的點入棧 2 while stack.empty node stack.top for each currentnode與node有邊 indegree currentnode 入度減一 poj1949在這裡儲存currentnode完成的時間,當然是貪心記錄最遲完成的時間 ...

POJ 1949(DAG最長路徑)

題目 所有任務合起來構成乙個dag,因為任務可以並行,所以從無前驅的節點到無後繼的節點的所有任務路徑中,最耗時的那一條就是所需要的總時間,因為這樣的搜尋中已經考慮了乙個任務所有可能的開始時間。include include include using namespace std int n,c 10...

POJ 1949 最小優先佇列

題意是有n行任務,給出完成每項任務所需要的時間長度,求出完成所有任務所需要的最短時間.每個任務都會有乙個約束條件,就是在完成這項任務之前必須完成所列出的其它任務.可以同時做多項任務.簡單來說就像煮飯炒菜問題一樣,可以一邊燒飯一邊炒菜.但炒菜之前必先洗菜.這道題我主要用了最小優先佇列,有點像dijkt...