Advertisement
Redomine

Графы

Jul 25th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. def find_path(graph, start, end, path=[]):
  2. path = path + [start]
  3. if start == end:
  4. return path
  5. if not graph.__contains__(start):
  6. return None
  7. for node in graph[start]:
  8. if node not in path:
  9. newpath = find_path(graph, node, end, path)
  10. if newpath: return newpath
  11. return None
  12.  
  13.  
  14. n=int(input())
  15. graph={}
  16. for x in range(n):
  17. current_task=[i for i in input().split()]
  18. key=current_task[0]
  19. del current_task[0]
  20. graph[key]=[]
  21. for task in current_task:
  22. if task==':': continue
  23. else:
  24. graph[key].append(task)
  25.  
  26. n=int(input())
  27. find_way=[]
  28. for x in range(n):
  29. find_way.append([i for i in input().split()])
  30.  
  31.  
  32. for points in find_way:
  33. if find_path(graph, points[1], points[0])==None: print ('No')
  34. else: print('Yes')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement