Pagini recente » Cod sursa (job #845139) | Cod sursa (job #563658) | Cod sursa (job #112083) | Cod sursa (job #41235) | Cod sursa (job #1811641)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int NMax=100005;
int N,Use[NMax],m,Vecin2,nod;
vector<int>G[NMax];
void read()
{
fin>>N;
for(int i=1;i<=N-1;++i)
{
int x,y;
fin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
}
void read2()
{
fin>>N;
for(int i=1;i<=N-1;++i)
{
int x,y;
fin>>x>>y;
G[y].push_back(x);
}
}
void DFS(int Nod)
{
Use[Nod]=1;
nod=Nod;
for (int i=0;i<(int)G[Nod].size();++i)
{
int Vecin=G[Nod][i];
if(!Use[Vecin]){
DFS(Vecin);
}
}
}
void DFS2(int Nod)
{
Use[Nod]=1;
for (int i=0;i<(int)G[Nod].size();++i)
{
int Vecin=G[Nod][i];
if(!Use[Vecin]){
DFS(Vecin);
}
}
m++;
}
int main()
{
read();
DFS(1);
DFS2(nod);
fout<<m<<" ";
return 0;
}