Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream fin("nivelebin.in");
- ofstream fout("nivelebin.out");
- int nivele[1001],n,x, s[1001], d[1001],p[1001];
- void completniv(int k, int niv)
- {
- if(k!=0)
- {
- nivele[k]=niv;
- completniv(s[k],niv+1);
- completniv(d[k],niv+1);
- }
- }
- int main()
- {
- fin>>n;
- for(int i=1;i<=n;i++)
- { fin>>x>>s[i]>>d[i];
- p[s[i]]=1; p[d[i]]=1;
- }
- int r=0;
- for(int i=1;i<=n;i++)
- if(p[i]==0) r=i;
- completniv(r,0);
- int nivmax=0;
- for(int i=1;i<=n;i++)
- if(nivele[i]>nivmax) nivmax=nivele[i];
- fout<<nivmax+1<<'\n';
- for(int niv=0;niv<=nivmax;niv++)
- {
- int k=0;
- for(int j=1;j<=n;j++)
- if(nivele[j]==niv) k++;
- fout<<k<<' ';
- }
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement