Pagini recente » Cod sursa (job #1745319) | Cod sursa (job #1123126) | Cod sursa (job #1420480) | Cod sursa (job #1434016) | Cod sursa (job #906016)
Cod sursa(job #906016)
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod
{
int info;
nod *next;
};
nod *p,*l[50001];
int x,y,i,j,n,nods,viz[50001],st[100001],niv,z,ga,ok,m;
int main()
{
fin>>n>>m;
for(i=1;i<=m;++i)
{
fin>>x>>y;
p=new nod;
p->info=y;
p->next=l[x];
l[x]=p;
if(nods==0)
nods=x;
}
ok=0;
while(ok==0)
{
niv=1;
viz[nods]=1;
st[niv]=nods;
fout<<nods<<" ";
while(niv)
{
z=st[niv];
ga=0;
while(l[z]&&ga==0)
{
if(viz[l[z]->info]==0)
{
st[++niv]=l[z]->info;
ga++;
viz[l[z]->info]=1;
fout<<l[z]->info<<" ";
}
l[z]=l[z]->next;
}
if(ga==0)
niv--;
}
ok=1;
for(j=1;j<=n;++j)
if(viz[j]==0)
{
nods=j;
ok=0;
break;
}
}
return 0;
}