字节跳动2021春招研发第二场笔试编程题(二)

本文介绍了字节跳动2021春季招聘研发笔试中的一道编程题,涉及病毒分裂及致命病毒的最近共同祖先查找问题。题目描述了一个非致命病毒T在分裂过程中产生致命子代病毒的情景,要求找出多个致命病毒的最近共同非致命祖先。题目提供输入输出描述,包括病毒总数、分裂关系、致命病毒数量及编号等信息。
摘要由CSDN通过智能技术生成

二、 【编程|30分】致命分裂

题目描述
有初代病毒T,不致命,T经过一段时间后,会分裂出多个子代病毒(数量不定)。又经过一段后,每一个子代病毒又可能各自分裂出自己的子代。原始病毒不致命,但病毒在分裂过程产生的子代病毒会突发产生致命性。每个子代病毒,可以通过基因追溯到他的上代病毒。在已定位到多个产生致命性的病毒、知道其编号的情况下,需要找到这多个致命病毒的最近共同祖先病毒(唯一且非致命)。
注:
1.假设初始病毒T,不致命,编号为0
2.一段时间和多次子代分裂后,共产生N-1个病毒,编号为1到N-1
3.致命病毒随机在1到N-1的各子代病毒中产生,至少1个
4.致命病毒的子代病毒可能致命也可能不致命


输入描述:
第1行有2个数字,第一个代表共有N个病毒,第二个代表共有R条分裂关系

第2行第一个数字代表有M个致命病毒,后面的M个数字为致命病毒的编号

第3行起后面R行,每一行是一个分裂关系,第一个数字代表亲代病毒的编号,第二个数字代表子代病毒的数量c,后面为c个子代病毒的编号

输出描述:
所有致命病毒的最近共同祖先病毒(唯一且非致命)编号

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L烧鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值