Pagini recente » Cod sursa (job #2323306) | Cod sursa (job #864065) | Cod sursa (job #3181216) | Cod sursa (job #724586) | Cod sursa (job #582683)
Cod sursa(job #582683)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> g[50003];
int n,m,nr;
bool u[50003];
int s[50003];
void tops(int nod)
{
u[nod]=1;
for(int i=0;i<g[nod].size();i++)
if(!u[g[nod][i]])
{
tops(g[nod][i]);
}
s[nr++]=nod;
}
int main()
{
int i,x,y;
freopen("sortaret.in","r",stdin);
scanf("%d %d",&n,&m);
for(i=0;i<m;++i)
{
scanf("%d %d",&x,&y);
g[x].push_back(y);
}
fclose(stdin);
for(i=1;i<=n;++i)
if(!u[i])
tops(i);
freopen("sortaret.out","w",stdout);
for(i=nr-1;i>=0;--i)
printf("%d ",s[i]);
printf("\n");
fclose(stdout);
return 0;
}