Pagini recente » Cod sursa (job #445687) | Cod sursa (job #2652074) | Cod sursa (job #212190) | Cod sursa (job #2353588) | Cod sursa (job #365663)
Cod sursa(job #365663)
#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 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);
}
}
nod *r=new nod;
r->nr=i;
r->urm=lista;
lista=r;
folosit[i]=1;
}
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[i];
noduri[i]=p;
}
for(i=1; i<=n; i++)
{
if(folosit[i]==0)df(i);
}
for(;lista;lista=lista->urm)cout<<lista->nr<<" ";
return 0;
}