Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def DFS(node, finish, parent=-2):
- global edges, mark
- if mark[node] != -1:
- return False
- mark[node] = parent
- if (node == finish):
- return True
- for child in range(len(edges[node])):
- if (edges[node][child]):
- if DFS(child, finish, parent=node):
- return True
- return False
- n = int(input())
- m = int(input())
- edges = [0]*n
- for i in range(n):
- edges[i] = [0] * n
- for i in range(m):
- a, b = map(int, input().split())
- edges[a][b] += 1
- mark = [-1] * n
- start, finish = map(int, input().split())
- DFS(start, finish)
- print(mark)
Advertisement
Add Comment
Please, Sign In to add comment