Pagini recente » Cod sursa (job #240616) | Cod sursa (job #1599835) | Cod sursa (job #2418037) | Cod sursa (job #1907266) | Cod sursa (job #897865)
Cod sursa(job #897865)
#include <cstdio>
#include <vector>
#define pb push_back
using namespace std;
vector <int> a[50500];
vector <int>::iterator it;
int q[100000],v[50050],n,m,x,y,i,st,dr;
int main()
{
freopen ("sortaret.in","r",stdin);
freopen ("sortaret.out","w",stdout);
scanf ("%d %d",&n,&m);
for (i=1; i<=m; i++)
{
scanf ("%d %d",&x,&y);
a[x].pb(y);
v[y]++;
}
st = 1;
dr = 0;
for (i=1; i<=n; i++)
if (v[i] == 0)
q[++dr] = i;
while (st <= dr)
{
x = q[st];
for (it=a[x].begin(); it!=a[x].end(); it++)
{
v[*it]--;
if (v[*it] == 0)
q[++dr] = *it;
}
st++;
}
for (i=1; i<=n; i++)
printf ("%d ",q[i]);
printf ("\n");
return 0;
}