EA
Size: a a a
EA
EA
EA
AE
AB
EA
НХ
AB
import sys
def create_matrix_vidstaney():
file = open('File.one.txt.txt')
info = file.readline()
info_size = info.split(" ")
if ((int(info_size[0]) == 0) and (int(info_size[1]) == 0)) or (int(info_size[0]) == 0):
sys.exit("Ошибка!")
else:
matrix_vidstaney = [[0] * int(info_size[0]) for x in range(int(info_size[0]))]
for i in range(int(info_size[1])):
info_versh = file.readline()
info_versh_arr = info_versh.split(" ")
matrix_vidstaney[int(info_versh_arr[0]) - 1][int(info_versh_arr[1]) - 1] = float(info_versh_arr[2])
for i in range(len(matrix_vidstaney)):
for j in range(len(matrix_vidstaney)):
if matrix_vidstaney[i][j] == 0 and i != j:
matrix_vidstaney[i][j] = float('inf')
file.close()
return matrix_vidstaney
def BelmanFord(matrix, start):
vertexCount = len(matrix)
lambdas = [float('inf')] * vertexCount
labels = []
lambdas[start - 1] = 0.0
for k in range(1, vertexCount - 1):
for i in range(vertexCount):
for j in range(vertexCount):
labels.append(lambdas[j] + matrix[j][i])
lambdas[i] = min(labels)
labels.clear()
for x in lambdas:
print(x, end=' ')
matrix = create_matrix_vidstaney()
BelmanFord(matrix, 2)D
D
D
VA
D
l
EA
D
EA
D
l
l