Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. const int MAX = 1e6;
  4. std::vector<int> edges[MAX];
  5. int n, u, v, quantity[MAX];
  6. bool visited[MAX];
  7.  
  8. int DFS(int u)
  9. {
  10. if(!visited[u])
  11. {
  12. visited[u] = true;
  13.  
  14. if(edges[u].size() == 1 && visited[edges[u][0]])
  15. quantity[u] = 1;
  16.  
  17. else
  18. for(unsigned int i = 0; i < edges[u].size(); i++)
  19. quantity[u] += DFS(edges[u][i]);
  20.  
  21. return quantity[u];
  22. }
  23. }
  24.  
  25. int main()
  26. {
  27. scanf("%d", &n);
  28.  
  29. for(int i = 1; i < n; i++)
  30. {
  31. scanf("%d %d", &u, &v);
  32. edges[u - 1].push_back(v - 1);
  33. edges[v - 1].push_back(u - 1);
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement