在一个机房中,服务器的位置标识在n*m的整数矩阵网格中,1表示单元格上有服务器,0表示没有如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网,请你统计机房中最大的局域网包含的服务器个数
输入描述
第一行输入两个正整数,n和m,0<n,m<=100之后为n*m的二维数组,代表服务器信息
输出描述
最大局域网包含的服务器个数
def is_1(m,n):
if m<0 or n<0 or (m*mn[1]+n) in used_list or m>=mn[0] or n >=mn[1]:
return 0
used_list.append(m*mn[1]+n)
value = li[m][n]
count=0
if value=='1':
count=1+is_1(m+1,n)+is_1(m-1,n)+is_1(m,n+1)+is_1(m,n-1)
return count
mn = input().split(' ')
li=[]
mn[0]=int(mn[0])
mn[1]=int(mn[1])
for i in range(mn[0]):
d=input().split(' ')
li.append(d)
used_list=[]
res_list=[]
for i in range(mn[0]*mn[1]):
m=i//mn[1]
n=i%mn[0]
res_list.append(is_1(m,n))
print(max(res_list))