Pagini recente » Cod sursa (job #1198837) | Cod sursa (job #37859) | Cod sursa (job #3143542) | Cod sursa (job #2778173) | Cod sursa (job #2350793)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,ap[50000],sfin[50000],k=0;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
struct nod {
int val;
nod *next;
}*a[100000];
void citire ()
{
int x,y;
fin>>n>>m;
for (int i=0;i<m;i++)
{
fin>>x>>y;
nod *aux = new nod;
aux->val=y;
aux->next=a[x];
a[x]=aux;
}
}
void dfs (int x)
{
sfin[k++]=x;
ap[x]=1;
for (nod *aux = a[x];aux;aux=aux->next)
if (ap[aux->val]==0)
{
dfs(aux->val);
}
}
int main()
{
citire();
for (int i=1;i<=n;i++)
{
if(ap[i]==0)
dfs(i);
}
for (int i=0;i<k;i++)
fout<<sfin[i]<<" ";
return 0;
}