Pagini recente » Cod sursa (job #181168) | Cod sursa (job #1526751) | Cod sursa (job #522364) | Cod sursa (job #2051674) | Cod sursa (job #1909024)
#include <fstream>
#define nr 50000
using namespace std;
ifstream fi("sortaret.in");
ofstream fo("sortaret.out");
int n,m,viz[50001],x,y,c[5*nr],k,j;
struct nod
{
int info;
nod *urm;
};
nod*L[50001];
nod*q, *p;
void adauga(int x,int y){
nod* p=new nod;
p->info=y;
p->urm=L[x];
L[x]=p;
}
void DFS(int v){
viz[v]=1;
nod *p=L[v];
while(p){
if(viz[p->info]==0)
{
DFS(p->info);
c[++k]=p->info;
}
p=p->urm;
}
}
int main()
{
fi>>n>>m;
for(int i=1;i<=m;i++)
{
fi>>x>>y;
adauga(x,y);
}
fo<<1<< " " ;
for(int i=1;i<=n;i++)
if(viz[i]==0)
DFS(i);
for(j=k;j>=1;j--)
fo<<c[j]<<" ";
}