Pagini recente » Cod sursa (job #729043) | Cod sursa (job #2564571) | Cod sursa (job #759034) | Cod sursa (job #1327592) | Cod sursa (job #365708)
Cod sursa(job #365708)
#include<iostream>
using namespace std;
class nod
{
public:
int nr;
nod *urm;
nod(void):nr(0),urm(NULL){};
};
nod *noduri[50001];
int folosit[50001],n,m;
nod *lista;
void pune(int i)
{
nod *r=new nod;
r->nr=i;
r->urm=lista;
lista=r;
}
void df(int i)
{
if(folosit[i]==0)
{
nod *p=new nod;
p=noduri[i];
for(;p;p=p->urm)
{
if(folosit[p->nr]==0)df(p->nr);
}
folosit[i]=1;
pune(i);
}
}
int main(void)
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
cin>>n>>m;
int i,x,y;
for(i=1; i<=m; i++)
{
cin>>x>>y;
nod *p=new nod;
p->nr=y;
p->urm=noduri[x];
noduri[x]=p;
}
for(i=1; i<=n; i++)
{
if(folosit[i]==0)df(i);
}
nod *p=new nod;
p=lista;
for(;p;p=p->urm)cout<<p->nr<<" ";
return 0;
}