#include #include using namespace std; const int MAXN = 100001; int n, m, rez, c; int d[MAXN]; vector graph[MAXN]; void dis(int x) { m-=d[x]; for (int j = 0; j < graph[x].size(); j++) { if (d[graph[x][j]] > 0) { d[graph[x][j]]--; } } d[x] = 0; } int main() { scanf("%d", &n); m = n - 1; rez = 0; for (int i = 0; i < m; i++) { int a, b; scanf("%d%d", &a, &b); d[a]++; d[b]++; graph[a].push_back(b); graph[b].push_back(a); } while (m > 0) { for (int i = 1; i <= n; i++) { if (d[i] == 1) { c = i; break; } } for (int i = 0; i < graph[c].size(); i++) { if (d[graph[c][i]] > 0) { dis(graph[c][i]); rez++; break; } } } printf("%d", rez); }