Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("inaltime.in");
- ofstream g("inaltime.out");
- int a[101][101],q[101],t[101],viz[101],poz,n,mx;
- void BFS(int start)
- {
- int p,u;
- p=u=1;
- q[1]=start;
- viz[start]=1;
- while(p<=u)
- {
- int x=q[p++];
- for(int i=1;i<=n;i++)
- if(a[x][i] and viz[i]==0)
- {
- q[++u]=i;
- viz[i]=viz[x]+1;
- if(viz[i]>mx)
- mx=viz[i];
- }
- }
- }
- void citire()
- {
- int i;
- f>>n;
- for(i=1;i<=n;i++)
- {
- f>>t[i];
- if(t[i]==0)
- poz=i;
- a[i][t[i]]=a[t[i]][i]=1;
- }
- }
- int main()
- {
- int i,x;
- citire();
- BFS(poz);
- g<<mx;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement