AlgoMooc
← 返回题库

P3497. 精准核酸检测

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

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

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

输入描述

第一行为总人数N 第二行为确诊病例人员编号(确诊病例人员数量<N),用逗号分割 第三行开始,为一个N*N的矩阵,表示每个人员之间是否有接触,0表示没有接触,1表示有接触。

输出描述

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

示例

示例 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

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。