Pagini recente » Cod sursa (job #2016567) | Cod sursa (job #2270040) | Istoria paginii runda/simulare-5-2 | Rating StancuGeorge (SG2021) | Cod sursa (job #1691718)
#include<fstream>
using namespace std;
ifstream fi("sortaret.in");
ofstream fo("sortaret.out");
int n,m,viz[500010];
struct nod{
int info;
nod* back;
};
nod* l,*v[50010];
void add(int i,int j){
nod* c=new nod;
c->info=j;
c->back=v[i];
v[i]=c;
}
void push(int no){
nod* c=new nod;
c->info=no;
c->back=l;
l=c;
}
void write(){
for(nod* c=l;c!=NULL;c=c->back)
fo<<c->info<<" ";
}
void dfs(int no){
viz[no]=1;
for(nod* c=v[no];c!=NULL;c=c->back)
if(viz[c->info]==0)
dfs(c->info);
push(no);
}
int main(){
int x,y;
fi>>n>>m;
for(int i=1;i<=m;i++){
fi>>x>>y;
add(x,y);
}
for(int i=1;i<=n;i++)
if(!viz[i]){
dfs(i);
}
write();
return 0;
}