最大油田(Python)
最大油田问题是深度优先搜索算法的典型应用,本文主要用Python解决这个问题
最大油田问题
问题引入
【问题描述】
政府现勘探到一片油田,在这一片油田中有很多散落的石油资源。因为经费原因,政府只能开采一处油田,所以需要找到最大的油田进行施工。油田的地理情况被简化成了一个矩阵,其中每一个方格代表一块土地,0代表陆地,1代表是石油资源。如果一处石油资源和另一处石油资源相连接,则其算一块油田。现要找到最大的相互连接的石油资源,并输出它的面积
【输入形式】
第一行为油田的长和宽,第二行为油田。
【输出形式】
最大油田的面积。
【样例输入】
7 7
0 0 0 0 1 1 0
0 1 1 0 1 1 0
0 1 1 0 0 0 0
0 0 1 0 0 1 1
0 0 0 0 0 0 0
0 0 1 1 0 0 0
0 0 0 1 0 0 1
【样例输出】
5
程序设计
def MaxArea(lst,m,n): #定义求最大面积的函数
arrived=[[0 for j in range(n)] for i in range(m)] #首先需要设置一个标记列表,用于标记某个位置是否走过了
s=0 #初始设置结果油田面积为0
def DFS(x,y): #定义递归函数
#判断该位置是否合法,若合法,就将该位置