OD统一考试(C卷)
分值: 200分
题解: Java / Python / C++

题目描述
在一个机房中,服务器的位置标识在n*m的整数矩阵网格中,1表示单元格上有服务器,0表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网,请你统计机房中最大的局域网包含的服务器个数。
输入描述
第一行输入两个正整数,n和m,0<n,m<=100
之后为n*m的二维数组,代表服务器信息
输出描述
最大局域网包含的服务器个数。
示例1
输入:
2 2
1 0
1 1
输出:
3
说明: [0][0]、[1][0]、[1][1] 三台服务器互相连接,可以组成局域网。
题解
如果两台服务器位于同一行或者同一列中紧邻的位置(其实就是处于上下左右的位置),可以使用并查集对紧邻的位置进行合并,然后再遍历找到服务器数量最大的并查集(并查集写法此题没有DFS简单)。
此题使用 DFS进行深搜,搜索过

本文介绍了华为OD统一考试(C卷)的一道题目,涉及服务器位置矩阵,目标是统计能组成最大局域网的服务器数量。通过判断服务器是否在同一行或列相邻,使用并查集或DFS算法进行求解。提供了C++、Java和Python的解题思路和代码示例。
订阅专栏 解锁全文
6548

被折叠的 条评论
为什么被折叠?



