Advertisement
a53

LongestPath

a53
Jan 3rd, 2022
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define MOD 1000000007
  3. #define ll long long int
  4. #define endl "\n"
  5. using namespace std;
  6. ll dp[100001];
  7. vector<ll>adj[100001];
  8. ll longestpath(ll u)
  9. {
  10. ll result=0;
  11. if(dp[u]!=-1)
  12. {
  13. return dp[u];
  14. }
  15. if(adj[u].size()==0)
  16. {
  17. return dp[u]=0;
  18. }
  19. for(int v:adj[u])
  20. {
  21. result=max(result,longestpath(v));
  22. }
  23. return dp[u]=1+result;
  24. }
  25. void solve()
  26. {
  27. ll n,m;
  28. ll ans=0;
  29. cin>>n>>m;
  30. for(ll i=1;i<=m;i++)
  31. {
  32. ll u,v;
  33. cin>>u>>v;
  34. adj[u].push_back(v);
  35. }
  36. memset(dp,-1,sizeof(dp));
  37. for(ll i=0;i<=n;i++)
  38. {
  39. ans=max(ans,longestpath(i));
  40. }
  41. cout<<ans;
  42. }
  43. int main()
  44. {
  45. ios_base::sync_with_stdio(false);
  46. cin.tie(NULL);
  47. solve();
  48. return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement