Cod sursa(job #637452)

Utilizator paulyBereschi Paul pauly Data 20 noiembrie 2011 14:31:42
Problema Nivele Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.6 kb
#include<fstream>
#include<vector>
#include<iostream>
using namespace std;
ifstream f("nivele.in");
ofstream g("nivele.out");
long niv[100001],i,n,viz[100001],t[100001];
vector <int> A[100001];

void citeste_graf()
{
     int x,y,i;
     f>>n;
     while(f>>x>>y)
     {
                   A[x].push_back(y);
                   A[y].push_back(x);
                   }
                   f.close();
                   }
                   
                   void df(int nod,int nivel)
                   {
                        viz[nod]=1;
                        niv[nod]=nivel;
                        int nr_vecini,i;
                        nr_vecini=A[nod].size();
                        for(i=0;i<nr_vecini;i++)
                        if (viz[A[nod][i]]==0)
                        df (A[nod][i],nivel+1);
                        }
        int main()
        {
            long x,y;
            niv[1]=1;
           citeste_graf();
            df(1,1);
            long max=niv[1];
            for(i=1;i<=n;i++)
            if(niv[i]>max) max=niv[i];
            long k;
            for(k=1;k<=max;k++)
            {g<<"nivel "<<k<<": ";
            for(i=1;i<=n;i++)
            if(niv[i]==k) g<<i<<" ";
            g<<"\n";
            }
            g.close();
            return 0;
            }