Pagini recente » Cod sursa (job #2500246) | Cod sursa (job #3254893) | Cod sursa (job #1064488) | Cod sursa (job #454554) | Cod sursa (job #409698)
Cod sursa(job #409698)
#include<stdio.h>
#include<vector>
using namespace std;
FILE *f=fopen("sortaret.in","r");
FILE *g=fopen("sortaret.out","w");
#define M 50001
long n,m;
vector<long>a[M];
long postord[M],nr=0;
bool viz[M];
void dfs(long x)
{
long i;
viz[x]=1;
for(i=0;i<a[x].size();++i)
if(viz[a[x][i]]==0) dfs(a[x][i]);
postord[++nr]=x;
}
void afis()
{
long i;
for(i=n;i>=1;--i)
fprintf(g,"%ld ",postord[i]);
fclose(g);
}
void cit()
{
long i,x,y;
fscanf(f,"%ld%ld",&n,&m);
for(i=1;i<=m;++i)
{
fscanf(f,"%ld%ld",&x,&y);
a[x].push_back(y);
}
fclose(f);
}
int main()
{
cit();
long i;
for(i=1;i<=n;++i)
if(!viz[i]) dfs(i);
afis();
return 0;
}