笔试-精准核酸检测

应用

为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。

现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。

现在给定一组确诊人员编号(X1,X2,X3...Xn) 在所有人当中,找出哪些人需要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测)

需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。

例如:A是确诊病例,A和B有接触、B和C有接触 C和D有接触,D和E有接触。那么B、C、D、E都是需要进行核酸检测的。

输入:

第一行为总人数N

第二行为确诊病例人员编号 (确证病例人员数量 < N),用逗号隔开

接下来N行,每一行有N个数字,用逗号隔开,其中第i行的第个j数字表名编号i是否与编号j接触过。0表示没有接触,1表示有接触

输出:

需要做核酸检测的人数

实现

python 复制代码
N = int(input("总人数:"))
strs = input("确诊病例人员编号:").split(",")
sick = [int(i) for i in strs]

A = []
for i in range(0, N):
    strs = input("接触矩阵:").split(",")
    lst = [int(i) for i in strs]
    A.append(lst)

one = []
for i in range(0, len(A)):
    for j in range(i+1, len(A[i])):
          if A[i][j] == 1:
              one.append([i, j])

result = []

def touch(lst):

    a = len(lst)

    for i in range(0, len(lst)):
        for j in range(0, len(one)):
            
            if lst[i] == one[j][0]:
                    if one[j][1] not in result:
                        if one[j][1] not in sick:
                            result.append(one[j][1])
            
            if lst[i] == one[j][1]:
                    if one[j][0] not in result:
                        if one[j][0] not in sick:
                            result.append(one[j][0])
    
    b = len(result)

    if a-b >= 0:
         touch(result)

touch(sick)
print(len(result))
powershell 复制代码
总人数: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
相关推荐
m0_70665323几秒前
用Python创建一个Discord聊天机器人
jvm·数据库·python
tlwlmy5 分钟前
python excel图片批量导出
开发语言·python·excel
ValhallaCoder7 分钟前
hot100-矩阵
数据结构·python·算法·矩阵
那年我七岁10 分钟前
android ndk c++ 绘制图片方式
android·c++·python
Java后端的Ai之路10 分钟前
【Python教程10】-开箱即用
android·开发语言·python
深蓝电商API15 分钟前
异步爬虫中代理池的并发管理
开发语言·爬虫·python
B站计算机毕业设计超人17 分钟前
计算机毕业设计PySpark+Hive+Django小红书评论情感分析 小红书笔记可视化 小红书舆情分析预测系统 大数据毕业设计(源码+LW+PPT+讲解)
大数据·人工智能·hive·爬虫·python·spark·课程设计
黄筱筱筱筱筱筱筱21 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
Rolei_zl24 分钟前
AIGC(生成式AI)试用 45 -- DocsGPT 与 Python开发 1
python·aigc
开源技术2 小时前
深入了解Turso,这个“用Rust重写的SQLite”
人工智能·python