Pagini recente » Cod sursa (job #1030204) | Cod sursa (job #840446) | Cod sursa (job #2700103) | Cod sursa (job #1191999) | Cod sursa (job #2567393)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,a,b,maxim,nodmax;
int vizitat[100002];
vector<int> vecini[100002];
queue<int> q;
void bfs(int start)
{
q.push(start);
maxim=0;
vizitat[start]=1;
while(!q.empty())
{
int pos=q.front();
q.pop();
for(int i=0; i<vecini[pos].size(); i++)
{
int pi=vecini[pos][i];
cout<<pi<<" ";
if(vizitat[pi]==0)
{
vizitat[pi]=vizitat[pos]+1;
if(maxim<vizitat[pi])
{
maxim=vizitat[pi];
nodmax=pi;
}
q.push(pi);
}
}
}
}
int main()
{
fin>>n;
for(;n>0;n--)
{
fin>>a>>b;
vecini[a].push_back(b);
vecini[b].push_back(a);
}
bfs(1);
memset(vizitat,0,sizeof vizitat);
cout<<"\n"<<nodmax<<"\n";
bfs(nodmax);
fout<<maxim;
return 0;
}