Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fin = open("input.txt")
- lines = []
- for line in fin:
- lines.append(line)
- n = len(lines)
- print(n)
- d = []
- smejnost = []
- v = []
- vstar = []
- p = []
- inf = 1e9
- for i in range(n):
- d.append([])
- p.append([])
- smejnost.append([])
- v.append(0)
- vstar.append([])
- for j in range(n):
- smejnost[i].append(0)
- d[i].append(inf)
- p[i].append(0)
- vstar[i].append(0)
- for i in range(n):
- s = lines[i]
- a,s = s.split('=')
- ss = s.split(')')
- a = int(a)
- a-=1
- for c in range(len(ss)-1):
- sss = ss[c].split('(')
- b,cost = sss[1].split(',')
- b = int(b)
- cost = int(cost)
- b -= 1
- d[a][b] = cost
- smejnost[a][b] = cost
- fin.close()
- fin = open("input2.txt")
- s = fin.readline()
- s = s[1:len(s)-1].split(',')
- for c in s:
- a,b = c.split(':')
- a = int(a)
- b = int(b)
- v[a-1] = b
- for i in range(n):
- d[i][i] = 0
- for k in range(n):
- for i in range(n):
- for j in range(n):
- if d[i][k] < inf and d[k][j] < inf:
- d[i][j] = min(d[i][j], d[i][k] + d[k][j])
- CBB = []
- for i in range(n):
- CBB.append(0)
- for j in range(n):
- CBB[i] += d[i][j]
- mediana = 0
- for i in range(n):
- if CBB[mediana] > CBB[i]:
- mediana = i
- MBB = []
- for i in range(n):
- MBB.append(d[i][0])
- for j in range(n):
- MBB[i] = max(MBB[i], d[i][j])
- center = 0
- for i in range(n):
- if MBB[center] > MBB[i]:
- center = i
- print("D")
- for i in range(n):
- s = ""
- for j in range(n):
- s += str(d[i][j]) + ' '
- print(s)
- print("center " + str(center + 1))
- print("mediana " + str(mediana + 1))
- P = inf
- for i in range(n):
- for j in range(i+1, n):
- if smejnost[i][j] > 0:
- # print(i+1,j+1,end=': ')
- for k in range(n):
- if k == i or k == j:
- continue
- if v[k] * min(d[k][i], d[k][j])>p[i][j]:
- vstar[i][j] = k
- p[i][j] =v[k] * min(d[k][i], d[k][j])
- # print(v[k]*min(d[k][i],d[k][j]),end=', ')
- # print()
- #print(p[i][j])
- P = min(P, p[i][j])
- H = inf
- for i in range(n):
- for j in range(i+1,n):
- if smejnost[i][j] > 0:
- H = min(H, p[i][j] + v[vstar[i][j]]*smejnost[i][j]/2)
- print("P =", P)
- print("H =",H)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement