Pagini recente » Cod sursa (job #1335239) | Cod sursa (job #1549445) | Cod sursa (job #1335564) | Cod sursa (job #848596) | Cod sursa (job #203039)
Cod sursa(job #203039)
#include <stdio.h>
struct NOD
{ int inf;
NOD *urm;};
typedef struct NOD *Lista;
Lista A[50001];
int viz[50001],parc[50002],nr;
void DFS(int i)
{
viz[i]=1;
while (A[i]!=NULL)
{
if (!viz[i]) DFS(A[i]->inf);
A[i] = A[i]->urm;
}
parc[++nr] = i;
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int n,m,i,x;
Lista urm;
scanf("%d%d",&n,&m);
for (i=1;i<=m;i++)
{
urm = new NOD;
scanf("%d%d",&x,&urm->inf);
urm->urm = A[x];
A[x] = urm;
}
for (i=1;i<=n;i++)
if (!viz[i]) DFS(i);
for (;n;n--) printf("%d ",parc[n]);
}