山峰和山谷 Ridges and Valleys

2022-09-05 10:12:09 字數 918 閱讀 1126

一開始看這道題目,也不是很會,誰會把統計之類的問題和bfs聯絡在一起,沒有開始的狀態,沒有結束的狀態,題目中連乙個最短之類的詞也沒有出現。

然後統計嘛,題目中說了方格高度都相同,就把周圍的點都看一遍和這個點高度相同的就入隊,把高度相同的點都打上瀏覽的標記。看的過程中,既有比它小的,也有比它大的,那麼這種高度的點就不是我們要統計的答案,只有比它小的,或只有比它大的,那麼就是我們要統計的。可以設定兩個標記,標記看的過程中有沒有比它小的,比它大的。

然後就是只有乙個高度的時候,因為兩個標記都不滿足,那麼都加1。

然後就是這種題目感覺dfs和bfs都可以做,好像還有一種洪氾法的方法也可以解決。

然後就是抱怨一下bfs有套路,比起dfs要簡單,dfs寫起來容易,但是怎麼表示每一層的狀態就比較難,再加上剪枝之類的,qwq······

#include #include #include int n;

int mp[1005][1005], vis[1005][1005], obs[1005][1005];

int dirx = ;

int diry = ;

struct node tmp, cur;

std::queueq;

int lows, highs;

inline int read()

bool valid(int x, int y)

void bfs(int x, int y)

}} }

if (!low) lows++;

if (!high) highs++;

}int main()

} for (int i = 1; i <= n; ++i)

} printf("%d %d", highs, lows);

return 0;

}

1454 山峰和山谷

時間限制 1000 ms 記憶體限制 65536 kb 提交數 93 通過數 28 給定乙個 n n 的網格狀地圖,每個方格 i,j 有乙個高度 wij 如果兩個方格有公共頂點,則它們是相鄰的。定義山峰和山谷如下 均由地圖上的乙個連通塊組成 所有方格高度都相同 周圍的方格 即不屬於山峰或山谷但與山峰...

Flood Fill 山峰和山谷

fgd小朋友特別喜歡爬山,在爬山的時候他就在研究山峰和山谷。為了能夠對旅程有乙個安排,他想知道山峰和山谷的數量。給定乙個地圖,為fgd想要旅行的區域,地圖被分為 n n 的網格,每個格仔 i,j 的高度 w i,j 是給定的。若兩個格仔有公共頂點,那麼它們就是相鄰的格仔,如與 i,j 相鄰的格仔有 ...

山峰和山谷 Flood Fill

fgd小朋友特別喜歡爬山,在爬山的時候他就在研究山峰和山谷。為了能夠對旅程有乙個安排,他想知道山峰和山谷的數量。給定乙個地圖,為fgd想要旅行的區域,地圖被分為 n n 的網格,每個格仔 i,j 的高度 w i,j 是給定的。若兩個格仔有公共頂點,那麼它們就是相鄰的格仔,如與 i,j 相鄰的格仔有 ...