AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3502. Linux发行版的数量

中等通过率 76% · 提交 650 · 通过 492
DFSBFS图论并查集DFS/BFS

小慕正在整理自己参与的开源项目资料库。他发现这些项目之间存在着依赖关系,比如项目A依赖项目B,而项目C又依赖项目A,那么就可以认为项目C和项目B之间也存在间接依赖关系。 项目集是由若干个相互存在依赖关系的项目组成的集合,集合内不包含与其他项目无关的独立项目。 给定一个 n × n 的依赖矩阵 isConnected,其中 isConnected[i][j] = 1 表示第 i 个项目与第 j 个项目存在直接依赖关系,而 isConnected[i][j] = 0 表示两者之间没有直接依赖关系。 请帮助小慕找出最大的相互依赖项目集中包含的项目数量。

提示:带虚线的词点一下有通俗解释。

输入描述

<div data-page-id="QJrYdFGcro67xfxhuy6cpanMnog" data-docx-has-block-data="false"> <div style="white-space-collapse:preserve;" class="ace-line ace-line old-record-id-SwUSdckuMogo0qxuyP2cHLjjnUe"> 第一行输入发行版的总数量 <code>N</code>,之后每行表示各发行版间是否直接相关。 </div> </div> <span data-lark-record-data="{"rootId":"QJrYdFGcro67xfxhuy6cpanMnog","text":{"initialAttributedTexts":{"text":{"0":"第一行输入发行版的总数量 N,之后每行表示各发行版间是否直接相关。"},"attribs":{"0":"*0+d*0*1+1*0+j"}},"apool":{"numToAttrib":{"0":["author","7115054903550050305"],"1":["inlineCode","true"]},"nextNum":2}},"type":"text","referenceRecordMap":{},"extra":{"mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"isFromCode":false,"selection":[{"id":9,"type":"text","selection":{"start":0,"end":33},"recordId":"SwUSdckuMogo0qxuyP2cHLjjnUe"}],"payloadMap":{},"isCut":false}" data-lark-record-format="docx/text" class="lark-record-clipboard"></span>

输出描述

输出最大的发行版集中发行版的数量

示例

示例 1

输入

4
1 1 0 0
1 1 1 0
0 1 1 0
0 0 0 1

输出

3

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
关联矩阵与发行版集示例 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 2 3 0 1 2 3 0 1 2 3 间接关联 发行版集 A (大小 3) 发行版集 B (大小 1) 最大发行版集数量 = 3
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「Linux发行版的数量」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。