泉水(DFS模板題)

2021-07-29 23:19:40 字數 1206 閱讀 5872

泉水

鏈結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

首先該位置的高度必須低於泉眼,還必須滿足該 點到達泉眼存在一條路徑使得整條路徑上的最高高度<=泉眼。 從起點開始dfs,找到所有dfs能夠經過的點,個數便是答案!

#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,則這兩區域屬於同一星區。現給你乙個空間的三維座標圖,每個座標整點表示乙個區域,其值表示其亮度,而其上 下 左 右 前 後六個區域被認為是與其相鄰的...