fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int n;
  4. vector<vector<int>> graf;
  5. vector <int> odwiedzone;
  6. vector<int> dp;
  7. void dfs(int v) {
  8. if(odwiedzone[v]) return;
  9. odwiedzone[v]=1;
  10. for(auto syn:graf[v]) {
  11. dfs(syn);
  12. dp[v]+=dp[syn];
  13. }
  14. }
  15. int main() {
  16. cin >> n;
  17. graf.resize(n+1,vector<int>(n+1));
  18. odwiedzone.resize(n+1);
  19. dp.resize(n+1,1);
  20. for(int i=0; i<n-1; ++i) {
  21. int a,b;
  22. cin >> a >> b;
  23. graf[a].push_back(b);
  24. graf[b].push_back(a);
  25. }
  26. dfs(0);
  27. for(int i=0; i<n; ++i) {
  28. cout << dp[i]<<endl;
  29. }
  30. return 0;
  31. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Standard output is empty