#include <bits/stdc++.h>
using namespace std;
#define pii pair < int , int >
#define eb emplace_back
#define pb push_back
#define int long long
#define fi first
#define se second
const int inf = 1e18;
const int sz = 2e5;
int n,m;
vector<vector<array<int,3>>> g(sz);
int dis[sz];
bool color[sz];
map < int , int > vin;
void dfs(int u) {
dis[u] = vin.size();
color[u] = 1;
for(auto &[v,l,r] : g[u]) {
if(!color[v]) {
for(int i = l;i <= r;i++) {
vin[i]++;
}
dfs(v);
for(int i = l;i <= r;i++) {
vin[i]--;
if(vin[i] == 0) vin.erase(i);
}
}
}
}
void solve() {
int n,m; cin >> n >> m;
for(int i = 1;i < n;i++) {
int a,b,l,r; cin >> a >> b >> l >> r;
array < int , 3 > arr = {b,l,r};
g[a].eb(arr);
arr[0] = a;
g[b].eb(arr);
}
dfs(1);
for(int i = 2;i <= n;i++) cout << dis[i] << "\n";
}
signed main() {
ios_base::sync_with_stdio(0);
cout.tie(0);
int t = 1; //cin >> t;
while(t--) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |