华为od机试-快速开租建站
当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。
1:每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1.
2:部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。
3:任务有多个依赖任务则需要等所有依赖任务都部署完该任务才能部署。
4:没有依赖的任务可以并行部署,优秀的员工们会做到完全并行无等待的部署。
给定一个站点部署任务项和它们之间的依赖关系,请给出一个站点的最短开站时间。
输入描述
第一行是任务数taskNum,
第二行是任务的依赖关系数relationsNum接下来 relationsNum 行,每行包含两个id,描述一个依赖关系,格式为: IDi IDj,表示部署任务部署完成了,部署任务自容署,IDi 和 IDj值的范围为: [0,taskNum)
注: 输入保证部署任务之间的依赖不会存在环。
输出描述
1个整数,表示一个站点的最短开站时间。
备注
1 < taskNum ≤ 100
1 ≤ relationsNum ≤ 5000
示例1:
输入
5
5
0 4
1 2
1 3
2 3
2 4
输出
3
说明:
先同时部署任务0和任务1,然后部署任务2,最后同时部署任务3和任务4.最短开站时间为3
示例2:
输入
5
3
0 3
0 4
1 3
输出
2
说明:
先同时部署任务0,任务1,任务2。然后再同时部署任务3和4.最短开站时间为2.
————————————————
版权声明:本文为CSDN博主「MISAYAONE」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://renjie.blog.csdn.net/article/details/128585901
Java 实现:https://renjie.blog.csdn.net/article/details/128585901
Python实现:https://renjie.blog.csdn.net/article/details/128588452
C++ 实现:https://renjie.blog.csdn.net/article/details/128588438
JavaScript实现:https://renjie.blog.csdn.net/article/details/129102247
C语言版本持续更新中