#include <iostream>
#include <vector>
using namespace std;
int n, rs = -1e9;
vector<vector<int>> graph;
vector<int> dp;
void read() {
cin >> n;
graph.resize(n + 1);
for (int i = 1; i < n; i++) {
int a, b;
cin >> a >> b;
graph[a].emplace_back(b);
graph[b].emplace_back(a);
}
}
void dfs(int node, int par) {
int cnt = 0;
for (auto it : graph[node]) {
if (it == par) {
continue;
}
cnt ++;
}
dp[node] = cnt;
for (auto it : graph[node]) {
if (it == par) {
continue;
}
dfs(it, node);
dp[node] = max(dp[node], dp[it]);
}
}
void solve() {
dp.resize(n + 1);
dfs(1, 0);
cout << dp[1];
}
int main() {
read();
solve();
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... |