Pagini recente » Cod sursa (job #197545) | Cod sursa (job #1249834) | Cod sursa (job #984827) | Cod sursa (job #2162824) | Cod sursa (job #2407447)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod
{
int vf;
nod *urm;
}*v[100005];
int n,m,viz[100005],nr,w[100005],k;
void citire()
{
fin>>n>>m;
int i,x,y;
nod *p,*q;
for(i=1;i<=n;++i)
v[i]=NULL;
for(i=1;i<=m;++i)
{
fin>>x>>y;
p=new nod;
p->vf=x;
p->urm=v[y];
v[y]=p;
q=new nod;
q->vf=y;
q->urm=v[x];
v[x]=q;
}
}
void df(int x)
{
viz[x]=1;
for(nod *q=v[x];q;q=q->urm)
if(viz[q->vf]==0)
df(q->vf);
w[++k]=x;
}
int main()
{
citire();
int i;
for(i=1;i<=n;++i)
if(viz[i]==0)
{
df(i);
}
for(i=k;i>=1;--i)
fout<<w[i]<<' ';
return 0;
}