Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("dmax.in");
- ofstream fout("dmax.out");
- int n, m, x, y,q[101],d[1001],a[1001][1001],nod,viz[101];
- void Citire()
- {
- fin >> n >> m;
- while(fin >> x >> y)
- {
- a[x][y] = a[y][x] = 1;
- }
- }
- void BFS(int S)
- { int i;
- int pr,ul;
- pr = ul = 1;
- viz[S] = 0;
- q[1] = S;
- d[S] = 0;
- while(pr <= ul)
- {
- nod=q[pr];
- pr++;
- for( i = 1;i <= n;i++)
- if(viz[i] == 0 && a[nod][i] == 1)
- {
- viz[i] = 1;
- q[++ul] = i;
- d[i] = 1 +d[nod];
- }
- }
- }
- int main()
- { int maxim, i;
- Citire();
- BFS(1);
- maxim=0;
- for(i = 1;i <= n; i++)
- if(d[i] > maxim) maxim =d[i];
- fout << maxim;
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement