Pagini recente » Cod sursa (job #1589942) | Cod sursa (job #1143914) | Cod sursa (job #774468) | Cod sursa (job #1760347) | Cod sursa (job #423980)
Cod sursa(job #423980)
#include<cstdio>
#include<vector>
#include<queue>
using namespace std;
long n,gr[50001],m;
vector <long> G[50001];
queue <long> Q;
void rd()
{
scanf("%ld%ld",&n,&m);
long i,x,y;
for(i=1;i<=m;i++)
{
scanf("%ld%ld",&x,&y);
G[x].push_back(y);
gr[y]++;
}
for(i=1;i<=n;i++)
if(!gr[i])
Q.push(i);
}
void go()
{
for(long i=1;i<=n;i++)
{
long x=Q.front();
Q.pop();
printf("%ld ",x);
for(long j=0;j<G[x].size();j++)
{
gr[G[x][j]]--;
if(!gr[G[x][j]])
Q.push(G[x][j]);
}
}
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
rd();
go();
return 0;
}