Pagini recente » Profil EduardLatcan | Cod sursa (job #2004397) | Istoria paginii utilizator/thelostrevolver | Istoria paginii utilizator/pestcontrol874 | Cod sursa (job #1497259)
#include <iostream>
#include <stdlib.h>
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int *g[50000],di[50000],vec[50000];
int main()
{int n,m,x,y,i,j,nr=0;
fin>>n>>m;
for(i=1;i<=n;i++)
{g[i]=(int*)realloc(g[i],sizeof(int));
g[i][0]=0;
}
for(i=1;i<=m;i++)
{
fin>>x>>y;
g[x][0]++;
g[x]=(int*)realloc(g[x],(g[x][0]+1)*sizeof(int));
g[x][g[x][0]]=y;
di[y]++;
}
int nrv=n;
while(nrv)
{
for(i=1;i<=n;i++)
if(di[i]==0)
{di[i]=-1;
vec[++nr]=i;
nrv--;
for(j=1;j<=g[i][0];j++)
di[g[i][j]]--;
}
}
for(i=1;i<=n;i++)
fout<<vec[i]<<' ';
}