题目描述
在云上多个业务节点之间选择最快的逃生节点集,并考虑每个节点的剩余业务容量。有一个网络时延表,表示每个节点到其他节点的通信延迟;还有一个剩余业务容量表,表示每个节点的剩余业务容量。在一个节点故障时,需要选择一个或多个逃生节点,确保逃生路径的时延最小,并且逃生节点集各节点剩余容量的总和足够容纳故障节点的业务量,当故障节点与多个节点最短距离相同,优先选择编号较小的节点容灾,如果逃生节点集中多个节点最短距离相同时按编号从小到大的顺序排列。
解答要求
时间限制: C/C++ 1000ms, 其他语言:2000ms
内存限制: C/C++ 256MB, 其他语言:512MB
输入
第1行n表示云上业务节点数, 2<=n<=10000,节点编号从 0 开始,依次递增;
第2到1+n行表示业务节点间的网络时延矩阵表 delayMatrix,delayMatrix[i][j] 表示节点 i 到节点 j 的通信时延;
1)如果节点 i 和节点 j 之间没有直接相连的边,则 delayMatrix[i][j] 为 -1,第i个节点和它自己也没有边,所以delayMatrix[i][i]=-1
2)节点间有边时延范围为 1<