All pastes #24312 Raw Edit

Road Building

public python v1 · immutable
#24312 ·published 2005-09-30 16:00 UTC
rendered paste body
from sys import stdindef main():    inf = float(1e3000)        l = []    a = l.append    for s in stdin:        a(s)    n = len(l)    nm = [None] * n    nd = 0    for lj in l:        nm[nd] = [inf] * n        s = lj.split        for k in s():            d = k.split(':')            nb = int(d[0])            vt = int(d[1])            nm[nd][nb] = vt        nd += 1        c = 0    sn = [{0:None},[e for e in nm[0]]]    r = n-1        while r > 0:        f = [inf, None]        for i in xrange(n):            if sn[1][i] < f[0]:                f = [sn[1][i], i]                c += f[0]        sn[0][f[1]] = None                for i in xrange(n):            if i in sn[0]:                sn[1][i] = inf            else:                sn[1][i] = min(sn[1][i], nm[f[1]][i])        r -= 1            print c                    main()