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

P3497. 精准核酸检测

中等通过率 54% · 提交 682 · 通过 370
DFSBFS图论DFS/BFS

小慕正在开发一个疫情精准防控系统。为了避免全员核酸检测带来的资源浪费,系统需要根据流调数据和大数据分析,精准找出可能被感染的人群。现在,系统已经获取了每个人之间在时间、空间上是否存在轨迹交叉的信息。 给定一组确诊病例的编号(X1, X2, X3, ..., n),小慕需要从所有人中找出哪些人需要进行核酸检测,并输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测) 需要进行核酸检测的人,是,即有可能通过确诊病例所能传播到的所有人。 例如:A是确诊病例,A和B有接触、B和C有接触、C和D有接触、D和E有接触,那么B、C、D、E都是需要进行核酸检测的人。

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

输入描述

<div data-page-id="Cp0QdqBQZobWPjxlWr5czii3n9b" data-docx-has-block-data="false"> <div class="ace-line ace-line old-record-id-Rilud5u0OoOs2gx9n4TcDKKqniJ"> 第一行为总人数<code>N</code> </div> <div class="ace-line ace-line old-record-id-RTuddnQHvoUFTRxljxccP8sZn7o"> 第二行为确诊病例人员编号(确诊病例人员数量<code><N</code>),用逗号分割 </div> <div class="ace-line ace-line old-record-id-HuG9dEBRUoV2Pbxue2FclH0CnHc"> 第三行开始,为一个<code>N*N</code>的矩阵,表示每个人员之间是否有接触,<code>0</code>表示没有接触,<code>1</code>表示有接触。 </div> </div> <span data-lark-record-data="{"isCut":false,"rootId":"Cp0QdqBQZobWPjxlWr5czii3n9b","parentId":"Cp0QdqBQZobWPjxlWr5czii3n9b","blockIds":[42,41,44],"recordIds":["Rilud5u0OoOs2gx9n4TcDKKqniJ","RTuddnQHvoUFTRxljxccP8sZn7o","HuG9dEBRUoV2Pbxue2FclH0CnHc"],"recordMap":{"RTuddnQHvoUFTRxljxccP8sZn7o":{"id":"RTuddnQHvoUFTRxljxccP8sZn7o","snapshot":{"author":"7115054903550050305","children":[],"comments":[],"folded":false,"parent_id":"Cp0QdqBQZobWPjxlWr5czii3n9b","text":{"apool":{"numToAttrib":{"0":["author","7115054903550050305"],"1":["inlineCode","true"]},"nextNum":2,"attribToNum":{"author,7115054903550050305":0,"inlineCode,true":1}},"initialAttributedTexts":{"text":{"0":"第二行为确诊病例人员编号(确诊病例人员数量<N),用逗号分割"},"attribs":{"0":"*0+l*0*1+2*0+7"},"rows":{},"cols":{}}},"type":"text"}},"Rilud5u0OoOs2gx9n4TcDKKqniJ":{"id":"Rilud5u0OoOs2gx9n4TcDKKqniJ","snapshot":{"author":"7115054903550050305","children":[],"comments":[],"folded":false,"parent_id":"Cp0QdqBQZobWPjxlWr5czii3n9b","text":{"initialAttributedTexts":{"text":{"0":"第一行为总人数N"},"attribs":{"0":"*0+7*0*1+1"}},"apool":{"numToAttrib":{"0":["author","7115054903550050305"],"1":["inlineCode","true"]},"nextNum":2}},"type":"text"}},"HuG9dEBRUoV2Pbxue2FclH0CnHc":{"id":"HuG9dEBRUoV2Pbxue2FclH0CnHc","snapshot":{"author":"7115054903550050305","children":[],"comments":[],"folded":false,"parent_id":"Cp0QdqBQZobWPjxlWr5czii3n9b","text":{"initialAttributedTexts":{"text":{"0":"第三行开始,为一个N*N的矩阵,表示每个人员之间是否有接触,0表示没有接触,1表示有接触。"},"attribs":{"0":"*0+9*0*1+3*0+i*0*1+1*0+7*0*1+1*0+6"}},"apool":{"numToAttrib":{"0":["author","7115054903550050305"],"1":["inlineCode","true"]},"nextNum":2}},"type":"text"}},"Cp0QdqBQZobWPjxlWr5czii3n9b":{"id":"Cp0QdqBQZobWPjxlWr5czii3n9b","snapshot":{"type":"page","parent_id":"","comments":[],"revisions":[],"locked":false,"hidden":false,"author":"7115054903550050305","children":["doxcnJvUVkY82QdxNBzWxzVVI6r","doxcnErdPhPcdxaTVYSheOLxuie","EtATdUC7ho1oCoxBGQYcuUjKnNb","Rl3cdOkXVoklCHxsVSEceK4onEv","BjECdRudFoxE8DxRtybc3rUJncc","doxcn2FnokLxpwdWPHTpYCSdlLd","doxcnlFnvOisEQm0t5OzErFjOHg","Rilud5u0OoOs2gx9n4TcDKKqniJ","RTuddnQHvoUFTRxljxccP8sZn7o","HuG9dEBRUoV2Pbxue2FclH0CnHc","doxcnhHCZOXW19nXN6z5Pzf5Lpe","doxcnho60e3Piybnm0weH4pNJad","H1INdMkkGofaiGxwwB7c0H46nmf","doxcnS020HFcVZk45sstVuiPcub","doxcnwxS1j8nXUs7He0qeUhk9Zg","Ui46dNwVVo2rmkx42SKcdt74nIf","WKN2dBavhoRIHqx3RElc8VCUndf","QicTd1leHosAl3xZtjOcf6m4nsf","doxcnF3VeT7enRG9ZoQphynt5Xz","doxcnvfoxCKKQdo00rTMDYg7LSd","doxcnV0RuBD1omcBLHGBVFNKX4b","doxcnV6EcJZXexMeWIjcfkaOrDh","doxcni7ZkL9bib7vlwIqnWBRcxd","doxcnfk5OIdjaeADswOjXaHd2Rh","LEXqdZ2thor7fbx5MtpcqYO4nab","C16Wdv9lmozBroxGJzZcbAdEnXb","MQjidQq66oVVZHxjEH9ci4XPn0e","BrjfdPLAJoFWhQxCGh7c8gddnXb","OST9d8mkMoSrvtxog9icgyM8nd1","IJKPd6H89oCZrBxG0aZcw89gnnh","doxcnq6Gzdfnm5kgagXL8g4GU8d","doxcnwhxb6xyhqaj9CKJIzqsxOg","KQidd6xUNojgL0xkjVJcZ2sgnYf","G9Yqd2kECo1A7lx3zmPcjN7JnUe","KxDtdwpyJoMdydxIoHHcCEbcnAh","SzN1ds1TAo1t2IxaHQvcrQCCnqb","SBecdzRKqoc7fSxajwScEYcWnJd","JRGud8Gt4oQUMbxIhwAcADGcncb","M16odhfZzoAbgQxCkVRcVQYwn9e","K8rTdYCfjoieZCx4DHkcNBHinqf","LwuMd5LCHokKYXxCoLBcGYYjnPd","D37TdaPS2oO85Zx1sswcc8F5nvc","CgAQdBPN9oXGNBxCfl5cDL21nic","TdmPdq907oxwnLxKmbCcX5bcndg","Imy6dUljEoQDObx3gstc2uSDnDc","doxcnx1TIEei180Wsov6f9qLlff","doxcnK5kcupLFSmMX4dCSeYtfyk","doxcntVIthp8IdvonfmPtfqUxAh","IKrQdu8f2oVbtVxVyducSEYtnsg","doxcnlrxfdyufJuNYvj6a2jlitb","doxcnjl8gs9wnuW3ieBJZyErDff","doxcnjuMR7giQqY0UYy6BvrAdje","doxcnbahB3s0LVrSodVtQTOuyTg","doxcnZnneyMt4oseIcunXWtTTBe","doxcnXHCrLXyrAm1vM9n4Qod3of","doxcnUjO2p15414BCJomBKIbLQc","doxcnhq1v7XX2Th0Kqu4wYU6Neg","doxcnQiF4sebM1Aw4YQxDRvKFtf","OBT4dmp8woKCpSxabqycrw6cnjb","Vpw7dLeZGoblksxKqt7cTvOInxf","B8qAdtSZHoSa2YxbNWOcBAkZnJc","Zhc9dPtsco2m7CxMmJncAEHQnoh","TdM0dql1joJN3RxVUw1cnGh6nre","QreJdCd79ol5QexwXJRcRqUnnTd","BicZdOiEpo4DlIxf4fvcS4g3n3e","JTtvdZdzboPYd8x7YqIcjAGZnWe","PUFmd3Hl0oQiZbxDaSPcJfBRnQc","O5EhdfaUroXA41xc0Pfc4epBn7C","BqNCdUnQpoobzIxMYwDcF3EonUb","TuYydaURMoieeLxf8FHc4m8ZnxM","doxcniBGrFEBYjczyjuU8doms2c"],"text":{"apool":{"numToAttrib":{"0":["author","7115054903550050305"]},"nextNum":1,"attribToNum":{"author,7115054903550050305":0}},"initialAttributedTexts":{"text":{"0":"【DFS/BFS】2023C-精准核酸检测"},"attribs":{"0":"*0+l"},"rows":{},"cols":{}}},"align":"","doc_info":{"editors":["7115054903550050305"],"options":["editors","create_time"],"deleted_editors":[]}}}},"payloadMap":{"Rilud5u0OoOs2gx9n4TcDKKqniJ":{"level":1},"RTuddnQHvoUFTRxljxccP8sZn7o":{"level":1},"HuG9dEBRUoV2Pbxue2FclH0CnHc":{"level":1}},"extra":{"channel":"saas","mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"selection":[{"id":42,"type":"text","selection":{"start":0,"end":8},"recordId":"Rilud5u0OoOs2gx9n4TcDKKqniJ"},{"id":41,"type":"text","selection":{"start":0,"end":30},"recordId":"RTuddnQHvoUFTRxljxccP8sZn7o"},{"id":44,"type":"text","selection":{"start":0,"end":45},"recordId":"HuG9dEBRUoV2Pbxue2FclH0CnHc"}],"pasteFlag":"c88dcf57-90d4-4ebc-a957-2ff339f0fa72"}" data-lark-record-format="docx/record" class="lark-record-clipboard"></span>

输出描述

整数:需要做核酸检测的人数

示例

示例 1

输入

5
1,2
1,1,0,1,0
1,1,0,0,0
0,0,1,0,1
1,0,0,1,0
0,0,1,0,1

输出

3

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

看不懂题目?点开图解
病毒传播链示例 A 确诊 B C D E A是确诊病例,与B有接触 B与C有接触,C与D有接触,D与E有接触 那么B、C、D、E都需要做核酸检测 确诊病例 需检测人员 接触传播方向
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「精准核酸检测」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。