# 在一个机房中,服务器的位置标识在n*m的整数矩阵网络中,1表示单元格上有服务器,0表示没有。 # 如果两台服务器位于同一行或者用一列中相邻的位置,则认为他们之间可以组成局域网 # 请你统计机房中最大的局域网包含的服务器个数 # 输入描述 # 第一行输入两个正整数,n和m,0<n,m<=100 # 之后为n*m的二维数组,代表服务器信息 # 输出:最大局域网包含的服务器个数 # 输入: # 2 2 # 1 0 # 1 1 # 输出:3 # def find(input, i, j): count = 0 stk = [(i, j)] while stk: x, y = stk.pop() if x < 0 or x >= len(input) or y < 0 or y >= len(input[0]) or input[x][y] == 0: continue input[x][y] = 0 count += 1 stk.append((x + 1, y)) stk.append((x - 1, y)) stk.append((x, y + 1)) stk.append((x, y - 1)) return count def main(): n, m = 2, 2 input = [[1, 0], [1, 1]] max_res = 0 for i in range(n): for j in range(m): if input[i][j] == 1: max_res = max(max_res, find(input, i, j)) print(max_res) if __name__ == "__main__": main()
21.可以组成网络的服务器--经典--OD
最新推荐文章于 2024-07-01 13:31:22 发布