Pagini recente » Cod sursa (job #2859159) | Cod sursa (job #1340175) | Cod sursa (job #376184) | Cod sursa (job #907412) | Cod sursa (job #2422571)
#include <bits/stdc++.h>
#define MAX 100005
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,poz;
int Dist[MAX];
bool Intalnit[MAX];
vector<int> V[MAX];
queue<int> Q;
void citire();
void Bfs(int);
int main(){
citire();
Bfs(1);
Bfs(poz);
fout<<Dist[poz]<<'\n';
return 0;
}
void Bfs(int x){
int q,sz,d;
memset(Intalnit,0,sizeof(Intalnit));
memset(Dist,0,sizeof(Dist));
Q.push(x);
Dist[x]=1;
while(!Q.empty()){
x=Q.front();
poz=x;
d=Dist[x];
sz=V[x].size();
for(q=0;q<sz;++q){
if(!Intalnit[V[x][q]]){
Dist[V[x][q]]=d+1;
Q.push(V[x][q]);
}
}
Intalnit[x]=1;
Q.pop();
}
}
void citire(){
int i,a,b;
fin>>n;
for(i=0;i<n;++i){
fin>>a>>b;
V[a].push_back(b);
V[b].push_back(a);
}
}