Guest User

Untitled

a guest
Sep 21st, 2017
470
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.61 KB | None | 0 0
  1. def DFS(node, finish, parent=-2):
  2.     global edges, mark
  3.     if mark[node] != -1:
  4.         return False
  5.     mark[node] = parent
  6.     if (node == finish):
  7.         return True
  8.     for child in range(len(edges[node])):
  9.         if (edges[node][child]):
  10.             if DFS(child, finish, parent=node):
  11.                 return True
  12.     return False
  13.  
  14. n = int(input())
  15. m = int(input())
  16. edges = [0]*n
  17. for i in range(n):
  18.     edges[i] = [0] * n
  19. for i in range(m):
  20.     a, b = map(int, input().split())
  21.     edges[a][b] += 1
  22. mark = [-1] * n
  23. start, finish = map(int, input().split())
  24. DFS(start, finish)
  25. print(mark)
Advertisement
Add Comment
Please, Sign In to add comment