Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def solution(n, graph):
- def dfs(s):
- visited = [0] * (n + 1)
- s = [s]
- while s:
- u = s.pop()
- if not visited[u]:
- visited[u] = 1
- s.extend(sorted(graph[u], reverse=True))
- return visited[1:]
- for v in range(1, n+1):
- visited = dfs(v)
- for i in visited:
- if not i:
- return False
- return True
- n, m = map(int, input().split())
- graph = [[] for _ in range(n+1)]
- for _ in range(m):
- i, j = map(int, input().split())
- graph[i].append(j)
- if solution(n, graph):
- print('YES')
- else:
- print('NO')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement