Pagini recente » Cod sursa (job #3123776) | Cod sursa (job #1325653) | Cod sursa (job #1679627) | Cod sursa (job #1935535) | Cod sursa (job #3250052)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n, nod;
set<int> graf[100001];
int d[100001];
int dmax;
void reset(){
dmax=0;
for(int i=1; i<=n; i++) d[i]=0;
}
void bfs(int p){
d[p]=1;
queue<int> Q;
Q.push(p);
while(!Q.empty()){
int q = Q.front();
Q.pop();
for(auto it : graf[q]){
if(d[it]==0){
d[it]=d[q]+1;
cout<<d[it]<<' ';
if(dmax<d[it]){
dmax=d[it];
nod=it;
}
Q.push(it);
}
}
}
}
int main()
{
fin>>n;
int x, y;
while(fin>>x){
fin>>y;
graf[x].insert(y);
graf[y].insert(x);
}
bfs(1);
reset();
bfs(nod);
fout<<dmax;
return 0;
}