#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int main()
{
int n, a, b, i;
cin >> n;
if(n == 1){cout << 0; return 0;}
vector<vector<int>> adj(n + 1);
for(i = 0; i < n - 1; i++)
{
cin >> a >> b;
adj[a].push_back(b);
adj[b].push_back(a);
}
vector<int> d(n + 1, 0), f(n + 1, 0);
vector<bool> viz(n + 1, 0);
queue<int> q;
q.push(1);
viz[1] = 1;
while(!q.empty())
{
int u = q.front();
q.pop();
for(auto &v: adj[u])
{
if(!viz[v])
{
viz[v] = 1;
d[v] = d[u] + 1;
f[d[v]]++;
q.push(v);
}
}
}
int maxx = 0;
for(i = 1; i <= n; i++)
maxx = max(maxx, f[i]);
cout << maxx;
}
# | 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... |