美文网首页
201812-04 数据中心 (Python实现)

201812-04 数据中心 (Python实现)

作者: tmax | 来源:发表于2019-11-20 16:30 被阅读0次
    n = int(input())
    m = int(input())
    root = int(input()) - 1
    
    edges = []
    tree = []
    max_weight = 0
    union = [i for i in range(n)]
    for i in range(m):
        tmp = list( map(int, input().split()) )
        tmp[0] = tmp[0] - 1
        tmp[1] = tmp[1] - 1
        edges.append( tmp )
    edges.sort(key = lambda x:(x[2]) )
    
    def findRoot(x):
        if union[x] == x:
            return x
        else:
            return findRoot(union[x])
    
    for i in range(m):
        edge = edges[i]
        u = edge[0]
        v = edge[1]
        u_root = findRoot(u)
        v_root = findRoot(v)
        if u_root != v_root:
            #连接
            uv_max = max(u_root,v_root)
            uv_min = min(u_root,v_root)
            union[uv_min] = uv_max
            tree.append(edge)
            max_weight = max(max_weight, edge[2])
        else:
            continue
        if len(tree) == n-1:
            break
    print(max_weight)
    #print(tree)
    

    相关文章

      网友评论

          本文标题:201812-04 数据中心 (Python实现)

          本文链接:https://www.haomeiwen.com/subject/prnoictx.html