Cod sursa(job #100600)

Utilizator pikuAnca Miihai piku Data 12 noiembrie 2007 14:42:37
Problema Zvon Scor 0
Compilator cpp Status done
Runda Happy Coding 2007 Marime 0.72 kb
#include<cstdio>
#include<vector>
using namespace std;

struct nod{
 int cost;
 vector<int> copii;
};

vector<nod> v;
int n;

int parc(int i)
{
int j, s;
s=v[i].copii.size();
if(s==0)
 {v[i].cost=1;
 //printf("%d=1\n", i); 
 }
for(j=0; j<s; j++)
 {parc(v[i].copii[j]);
  //printf("%d %d\n", v[i].copii[j], v[v[i].copii[j]].cost);
  v[i].cost+=v[v[i].copii[j]].cost;
 }
}

int main()
{
freopen("zvon.in", "r", stdin);
freopen("zvon.out", "w", stdout);

int t;
int i, x, y;
scanf("%d", &t);
while(t>0)
{
scanf("%d", &n);
if(n==1)
 printf("0\n");
else
 {
 v.clear();
 v.resize(n+1);
 for(i=1; i<n; i++)
  {
  scanf("%d %d", &x, &y);
  v[x].cost=0;
  v[y].cost=0;
  v[x].copii.push_back(y);
  }
 parc(1);
 printf("%d\n", v[1].cost); 
 }
t--;
}
}