#include <bits/stdc++.h>
#define NMAX 300000
using namespace std;
vector <int> vsons[NMAX + 1];
bool isVisited[NMAX + 1];
int vCountLevel[NMAX + 1];
int sol;
void dfs(int node, int level) {
int i, nsons;
isVisited[node] = 1;
vCountLevel[level]++;
sol = max(sol, vCountLevel[level]);
nsons = vsons[node].size();
for (i = 0; i < nsons; i++) {
int newnode = vsons[node][i];
if (!isVisited[newnode])
dfs(newnode, level + 1);
}
}
int main() {
int n, i, x, y;
cin >> n;
for (i = 0; i < n - 1; i++) {
cin >> x >> y;
vsons[x].push_back(y);
vsons[y].push_back(x);
}
if (n == 1)
cout << 0;
else {
dfs(1, 0);
cout << sol;
}
return 0;
}
# | 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... |
# | 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... |