Pagini recente » Cod sursa (job #2149072) | Cod sursa (job #1855128) | Cod sursa (job #1255136) | Cod sursa (job #107531) | Cod sursa (job #2247060)
#include <fstream>
#include <vector>
#define DIM 100005
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,m,v[DIM],c[DIM],r,k,cc,i,j,cnt,l[DIM],maxim=0;
bool ok=false;
vector<int> L[DIM];
int bfs(int start) {
v[start]=1;
c[1]=start;
int p=1,u=1;
while (p<=u) {
int nod=c[p];
for (i=0;i<L[nod].size();i++) {
int vecin=L[nod][i];
if (v[vecin]==0) {
c[++u]=vecin;
v[vecin]=1;
l[vecin]=1+l[nod];
}
}
p++;
}
maxim=l[c[u]];
return c[u];
}
int main() {
fin>>n;
for (k=1;k<n;k++) {
fin>>i>>j;
L[i].push_back(j);
L[j].push_back(i);
}
r=bfs(1);
for (i=1;i<=n;i++)
l[i]=v[i]=0;
bfs(r);
fout<<1+maxim;
}