40 lines
661 B
C++
40 lines
661 B
C++
#include <cstdint>
|
|
#include <iostream>
|
|
#include <vector>
|
|
|
|
using ll = int64_t;
|
|
using vl = std::vector<ll>;
|
|
auto &ci = std::cin;
|
|
auto &co = std::cout;
|
|
|
|
const ll max_n = 5e4+5;
|
|
ll *sn = new ll[max_n];
|
|
auto *nds = new vl[max_n];
|
|
|
|
void dfs(ll ft, ll n){
|
|
if(nds[n].size()<=1){
|
|
return;
|
|
}
|
|
sn[n]=1;
|
|
for(ll i:nds[n]){
|
|
if(i==ft){
|
|
continue;
|
|
}
|
|
dfs(n, i);
|
|
sn[n]+=sn[i];
|
|
}
|
|
return;
|
|
}
|
|
|
|
int main(){
|
|
ll n;
|
|
ci>>n;
|
|
for(ll i{1}; i<n; i++){
|
|
ll a, b;
|
|
ci>>a>>b;
|
|
nds[a].push_back(b);
|
|
nds[b].push_back(a);
|
|
}
|
|
for(ll i{1};i<=n;i++)co<<sn[i]<<' ';
|
|
co<<'\n';
|
|
} |