Advertisement
jbn6972

wormholes

Oct 17th, 2021
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.83 KB | None | 0 0
  1. import sys
  2. import os
  3. if not os.environ.get("ONLINE_JUDGE"):
  4.     sys.stdin = open('./in.txt', 'r')
  5.     sys.stdout = open('./out.txt', 'w')
  6.  
  7. inf = sys.maxsize
  8.  
  9.  
  10. def bellmanford(el, s, n):
  11.     dist = [inf for _ in range(n)]
  12.  
  13.     dist[s] = 0
  14.     for i in range(n-1):
  15.         for edge in el:
  16.             # print(edge)
  17.             u, v, w = edge
  18.  
  19.             if dist[v] > dist[u]+w:
  20.                 dist[v] = dist[u] + w
  21.  
  22.     for edge in el:
  23.         u, v, w = edge
  24.         if dist[v] > dist[u]+w:
  25.             return True
  26.  
  27.     return False
  28.  
  29.  
  30. for _ in range(int(input())):
  31.     n, m = map(int, input().split())
  32.     el = []
  33.     for _ in range(m):
  34.         u, v, w = map(int, input().split())
  35.         el.append([u, v, w])
  36.  
  37.     if bellmanford(el, 0, n):
  38.         print("possible")
  39.     else:
  40.         print("not possible")
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement