泉水首先該位置的高度必須低於泉眼,還必須滿足該 點到達泉眼存在一條路徑使得整條路徑上的最高高度<=泉眼。 從起點開始dfs,找到所有dfs能夠經過的點,個數便是答案!鏈結time limit: 1000 ms memory limit: 65536 k
total submit: 2003(486 users) total accepted: 762(435 users) rating: special judge: no
description
leyni是乙個位址調查員,有一天在他調查的地方突然出現個泉眼。由於當地的地勢不均勻,有高有低,他覺得如果這個泉眼不斷的向外溶出水來,這意味著這裡在不久的將來將會乙個小湖。水往低處流,凡是比泉眼地勢低或者等於的地方都會被水淹沒,地勢高的地方水不會越過。而且又因為泉水比較弱,當所有地勢低的地方被淹沒後,水位將不會**,一直定在跟泉眼一樣的水位上。
由於leyni已經調查過當地很久了,所以他手中有這裡地勢的詳細資料。所有的地圖都是乙個矩形,並按照座標系分成了乙個個小方格,leyni知道每個方格的具體高度。我們假定當水留到地圖邊界時,不會留出地圖外,現在他想通過這些資料分析出,將來這裡將會出現乙個多大面積的湖。
input
有若干組資料,每組資料的第一行有四個整數n,m,p1,p2(0 output
輸出對應地圖中會有多少個格仔被水充滿。
sample input
3 5 2 3
3 4 1 5 1
2 3 3 4 7
4 1 4 1 1
sample output
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 1000+5;
bool vst[maxn][maxn];
int f[maxn][maxn];
int n,m,p,q;
int ans;
int dir[4][2]=;
void dfs(int x,int y)
}int main()
}ans = 0;
dfs(p,q);
cout
0;}
HRBUST 1143 泉水 簡單DFS
leyni是乙個位址調查員,有一天在他調查的地方突然出現個泉眼。由於當地的地勢不均勻,有高有低,他覺得如果這個泉眼不斷的向外溶出水來,這意味著這裡在不久的將來將會乙個小湖。水往低處流,凡是比泉眼地勢低或者等於的地方都會被水淹沒,地勢高的地方水不會越過。而且又因為泉水比較弱,當所有地勢低的地方被淹沒後...
hrbust 1174泉水(DFS深度優先搜尋)
搜尋入門題 include dfs深度優先搜尋 include int vis 1056 1012 標記陣列 int high 1007 1024 座標高度,陣列下標代表座標位置,儲存的是座標的高度 int walkx 4 行走的路線,一維陣列儲存x的移動方式 int walky 4 行走的路線,一...
dfs模板 dfs找聯通塊分割槽
題目描述 天文學家doctor博士發明了一種太空分割槽方法,在這個方法中,宇宙裡亮度相近的區域被劃為同乙個星區。空間中相鄰兩區域若亮度差不大於給定整數m,則這兩區域屬於同一星區。現給你乙個空間的三維座標圖,每個座標整點表示乙個區域,其值表示其亮度,而其上 下 左 右 前 後六個區域被認為是與其相鄰的...