典型的bfs題,每步分為兩種mode,用三維陣列記錄兩種mode所能到達點的狀態,避免無意義的計算,其中許多程式設計技巧值得學習。為什麼出來的一定是最少的時間呢?這是因為飛行mode與行走mode對ans的增益在每步當中都是一樣的。學習建構函式的利用。
#include
#include
#include
using
namespace
std;
intconst maxn = 105;
int dr=;
int dc=;
int vis[maxn][maxn][maxn];
char p[maxn][maxn];
int m,n,d;
struct status
};int bfs()
for (int j=2;j<=tmp.fly;j++) }}
}return -1;
}int main()
1135飛越原野
description 勇敢的德魯伊法里奧出色的完成了任務之後,正在迅速的向自己的基地撤退。但由於後面有著一大群追兵,所以法里奧要盡快地返回基地,否則就會被敵人捉住。終於,法里奧來到了最後的一站 泰拉希爾原野,穿過這裡就可以回到基地了。然而,敵人依然緊追不捨。不過,泰拉希爾的地理條件對法里奧十分有利...
AOJ 866 飛越原野 BFS
在一片廣闊的土地上,有乙個鳥人,他需要從這裡穿過原野,回到基地。這片原野上,有平地 p 有湖泊 l 因為鳥人可以飛,所以呢,有的時候,他可以飛越湖泊。現在,鳥人需要用最快的時間,回到基地。假設原野是乙個m n的矩陣,有兩種地形,用p和l表示。鳥人只能停留在平地上。他目前處在 1,1 這個位置,而目的...
JZOJ 4 1 C組 飛越原野 bfs
description 勇敢的德魯伊法里奧出色的完成了任務之後,正在迅速的向自己的基地撤退。但由於後面有著一大群追兵,所以法里奧要盡快地返回基地,否則就會被敵人捉住。終於,法里奧來到了最後一站 泰拉希爾原野,穿過這裡就可以回到基地了。然而,敵人依然緊追不捨。不過,泰拉希爾的地理條件對法里奧十分有利,...