Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream fin("nivelepare.in");
- ofstream fout("nivelepare.out");
- int n,T[101],r,D[101],Q[101],nmax;
- void DF(int x)
- {
- for(int i=1; i<=n; i++)
- if(T[i]==x)
- {
- D[i]=D[x]+1;
- DF(i);
- }
- }
- int main()
- {
- fin>>n;
- for(int i=1; i<=n; i++)
- {
- fin>>T[i];
- if(T[i]==0)
- r=i;
- }
- DF(r);
- for(int i=1; i<=n; i++)
- if(D[i]>nmax)
- nmax=D[i];
- for(int i=0; i<=nmax; i++)
- {
- if(i%2==0)
- {
- for(int j=1; j<=n; j++)
- if(D[j]==i)
- fout<<j<<" ";
- fout<<'\n';
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement