Pagini recente » Cod sursa (job #1283100) | Cod sursa (job #2377078) | Cod sursa (job #3226953) | Cod sursa (job #3131752) | Cod sursa (job #1180562)
#include<fstream>
#include<vector>
#include<bitset>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,noduri[100005],lg,costuri[100005],maxim,nod;
vector<int>v[100005];
bitset<100005>viz;
inline void Citire()
{
int i,x,y;
fin>>n;
for (i=1;i<=n-1;i++)
{
fin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
for (i=1;i<=n;i++)
if (v[i].size()==1)
noduri[++lg]=i;
}
inline void DFSa(int x)
{
int i,len;
viz[x]=1;
len=v[x].size();
for (i=0;i<len;i++)
if (!viz[v[x][i]])
{
costuri[v[x][i]]=costuri[x]+1;
if (costuri[v[x][i]]>maxim)
{
maxim=costuri[v[x][i]];
nod=v[x][i];
}
DFSa(v[x][i]);
}
}
int main()
{
Citire();
DFSa(1);
for (int i=1;i<=n;i++)
{
viz[i]=0;
costuri[i]=0;
}
maxim=0;
DFSa(nod);
maxim++;
fout<<maxim;
return 0;
}