Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream fin("inaltime.in");
- ofstream fout("inaltime.out");
- int a[105][105], n, k, viz[105], c[105], niv[105], t[105];
- void citire()
- {
- int f, g;
- fin >> n >> k;
- for (int i = 1; i < n; ++i)
- {
- fin >> f >> g;
- a[f][g] = a[g][f] = 1;
- }
- }
- void bf(int x)
- {
- int p,u,k;
- p=u=1;
- c[p]=x;
- viz[x]=1;
- niv[x]=1;
- while(p<=u)
- {
- k=c[p];
- p++;
- for(int i=1; i<=n; ++i)
- {
- if(t[i]==k && viz[i]==0)
- {
- u++;
- c[u]=i;
- viz[i]=1;
- niv[i]=niv[k]+1;
- //t[i]=k;
- }
- }
- }
- }
- int main()
- {
- fin>>n;int radacina,maxi=-1;
- for(int i=1; i<=n; ++i)
- {
- fin>>t[i];
- if(t[i]==0)
- radacina = i;
- }
- bf(radacina);
- for(int i=1; i<=n; ++i)
- {
- if(niv[i]>maxi)
- maxi=niv[i];
- }
- fout<<maxi;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement