fork download
  1. import sys
  2. sys.setrecursionlimit(1000000)
  3.  
  4.  
  5. def dfs(i):
  6. if dp[i] != -1:
  7. return dp[i]
  8. dmax = 0
  9. for j in adjlist[i]:
  10. dmax = max(dmax, dfs(j) + 1)
  11. dp[i] = dmax
  12. return dmax
  13.  
  14.  
  15. n, m = map(int, input().split())
  16. adjlist = [[] for _ in range(n)]
  17. s = set()
  18. for _ in range(m):
  19. x, y = map(int, input().split())
  20. s.add(y - 1)
  21. adjlist[x - 1].append(y - 1)
  22. dp = [-1] * n
  23. dmax = 0
  24. for i in range(n):
  25. if i not in s:
  26. dmax = max(dmax, dfs(i))
  27. print(dmax)
  28.  
Runtime error #stdin #stdout #stderr 0.22s 23252KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 15, in <module>
EOFError: EOF when reading a line