Cod sursa(job #3202864)

Utilizator radu._.21Radu Pelea radu._.21 Data 12 februarie 2024 15:03:46
Problema Infasuratoare convexa Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
ifstream fin("nivelebin.in");
ofstream fout("nivelebin.out");
int n,st[1001],dr[1001],val[1001],tata[1001],maxim;
int nrnivele[1001],i;
void preordine(int nod,int niv)
{
    nrnivele[niv]++;
    if(niv>maxim)
        maxim=niv;
    if(st[nod]!=0)
        preordine(st[nod],niv+1);
    if(dr[nod]!=0)
        preordine(dr[nod],niv+1);
}
int main()
{
    fin>>n;
    for(i=1; i<=n; i++)
    {
        fin>>val[i]>>st[i]>>dr[i];
        tata[st[i]]=tata[dr[i]]=1;
    }
    int rad=0;
    for(i=1; i<=n; i++)
    {
        if(tata[i]==0)
        {
            rad=i;
            break;
        }
    }
    preordine(rad,1);
    fout<<maxim<<endl;///maxim este nr de nivele; valoareamaxima luata de niv
    for(i=1; i<=maxim; i++)
        fout<<nrnivele[i]<<" ";
    return 0;
}