Pagini recente » Cod sursa (job #2460118) | Cod sursa (job #1095623) | Cod sursa (job #2737487) | Cod sursa (job #2089215) | Cod sursa (job #1671274)
#include <stdio.h>
#include <vector>
#define nmax 100010
using namespace std;
int tt,n,nr,x,y;
vector <int> g[nmax];
void dfs(int x,int dad)
{
int mx=0;
for (int i=0;i<(int)g[x].size();i++)
if (g[x][i]!=dad) { mx=g[x][i]; break; }
if (mx==0) return;
dfs(mx,x);
for (int i=0;i<(int)g[x].size();i++)
if (g[x][i]!=dad && g[x][i]!=mx) { nr++; dfs(g[x][i],x); }
}
int main()
{
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
scanf("%d",&tt);
for (int o=1;o<=tt;o++) {
scanf("%d",&n); nr=0;
for (int i=1;i<=n;i++) g[i].clear();
for (int i=1;i<n;i++) {
scanf("%d %d",&x,&y);
g[x].push_back(y); g[y].push_back(x);
}
dfs(1,0);
if (n==1) printf("0\n"); else
printf("%d\n",nr+1);
}
return 0;
}