赞
踩
在一个机房中,服务器的位置标识在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))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。