Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #166 Построение
- from sys import setrecursionlimit
- setrecursionlimit(10**9)
- def dfs (v):
- global check, edge, color
- color[v] = 1
- for i in edge[v]:
- if color[i] == 0:
- dfs(i)
- elif color[i] == 1:
- check = False
- color[v] = 2
- edge_chern.append(v)
- n, m = map(int,input().split())
- edge = [[] for i in range(n+1)]
- for i in range(m):
- a, b = map(int,input().split())
- edge[a].append(b)
- edge_chern = []
- color = [ 0 for i in range(n+1)]
- check = True
- for i in range(1,n+1):
- if color[i] == 0:
- dfs(i)
- if check:
- print('Yes')
- print(*edge_chern[::-1])
- else:
- print('No')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement