Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int dfs (vector <int> &g, int i , vector<bool> &vis)
- {
- if (vis[i])
- return 0;
- vis[i] = true;
- return 1 + dfs (g,g[i],vis);
- }
- int main() {
- // [[0, 1], [1, 2], [3, 4]],
- vector <int> g = {1,2,2,4,4};
- vector <bool> vis (g.size()+1,false);
- int res = INT_MIN;
- for (int i = 0 ; i < g.size(); i ++)
- {
- if (!vis[i])
- res = max (res,dfs(g,i,vis));
- }
- cout<< res;
- }
Advertisement
Add Comment
Please, Sign In to add comment