Pagini recente » Diferente pentru problema/numere9 intre reviziile 4 si 3 | Cod sursa (job #1769835) | Cod sursa (job #2402041) | Cod sursa (job #3160446) | Cod sursa (job #2246504)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,i,j,p,u,m,f[100001],lung[100001],c[100001];
vector <int> l[100001];
int bfs(int a){
p=1; u=1;
c[p]=a;
f[a]=1;
while(p<=u){
for(j=0;j<l[c[p]].size();j++){
if(f[l[c[p]][j]]==0){
c[++u]=l[c[p]][j];
f[l[c[p]][j]]=1;
lung[l[c[p]][j]]=lung[c[p]]+1;
}
}
p++;
}
m=lung[c[u]];
for(i=1;i<=n;i++){
lung [i]=0;
f[i]=0;
}
return c[u];
}
int main(){
fin>>n;
while(fin>>i>>j){
l[i].push_back(j);
l[j].push_back(i);
}
bfs(bfs(1));
fout<<m+1;
return 0;
}