Nu aveti permisiuni pentru a descarca fisierul grader_test6.ok
Cod sursa(job #2509305)
| Utilizator | Data | 14 decembrie 2019 09:40:52 | |
|---|---|---|---|
| Problema | Diametrul unui arbore | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.79 kb |
#include <bits/stdc++.h>
#define NMAX 100009
using namespace std;
ifstream fin("a.in");
ofstream fout("a.out");
vector<int>g[NMAX];
int n,last;
int uz[NMAX];
queue <int> Q;
void citire();
void bfs(int k);
int main()
{citire();
bfs(1);
for(int i=0;i<NMAX;i++)uz[i]=0;
//fout<<last<<" ";
bfs(last);
fout<<uz[last];
return 0;
}
void citire()
{int i,x,y;
fin>>n;
for(i=1;i<=n-1;i++)
{
fin>>x>>y;
g[x].push_back(y);
g[y].push_back(x);
}
}
void bfs(int k)
{int el;
Q.push(k);
uz[k]=1;
while(!Q.empty())
{
el=Q.front();
for(int i=0;i<g[el].size();i++)
if(!uz[g[el][i]])
{uz[g[el][i]]=uz[el]+1;
last=g[el][i];
Q.push(g[el][i]);
}
Q.pop();
}
}
