OneCompiler

warshall

130

nv=4
inf=999
def warsh(G):
dist=list(map(lambda i:list(map(lambda j:j,i)),G))
for k in range(nv):
for i in range(nv):
for j in range(nv):
dist[i][j]=dist[i][j] or(dist[i][k] and dist[k][j])
print_sol(dist)

def print_sol(dist):
for i in range(nv):
for j in range(nv):
if(dist[i][j]==0):
print(0,end=" ")
else:
print(dist[i][j],end=" ")
print(" ")
G=[[0,1,0,1],
[1,0,0,1],
[0,1,0,0],
[0,0,1,0]]
warsh(G)