BFS_FloodFill模型_山峰和山谷(POI2007)
历时两周半左右的动态规划集中学习告一段落,后面会继续补充动态规划相关题目题解和想法。 今天开始学习搜索。 宽度(广度)优先搜索的第一个经典模型—— Flood Fill ,实际上就是 通过BFS在一张图中寻找连通块 的模型。 题目 :FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷。 为了能够对旅程有一个安排,他想知道山峰和山谷的数量。 给定一个地图,为FGD想要旅行的区域,地图被分为 n × n n×n n × n 的网格,每个格子 ( i , j ) (i,j) ( i , j ) 的高度 w ( i , j ) w(i,j) w ( i , j ) 是给定的。 若两个格子有公共顶点,那么它们就是相邻的格子,如与 ( i , j ) (i,j) ( i , j ) 相邻的格子有 ( i − 1 , j − 1 ) , ( i − 1 , j ) , ( i − 1 , j + 1 ) , ( i , j − 1 ) , ( i , j + 1 ) , ( i + 1 , j − 1 ) , ( i + 1 , j ) , ( i + 1 , j + 1 ) (i−1,j−1),(i−1,j),(i−1,j+1),(i,j−1),(i,j+1),(i+1,j−1),(i+1,j),(i+1,j+1) ( i − 1 , j − 1 ) , ( i − 1 , j ) ,