Pagini recente » Cod sursa (job #1490778) | printare-agm | Cod sursa (job #1813147) | Cod sursa (job #2755578) | Cod sursa (job #637452)
Cod sursa(job #637452)
#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;
}