Pagini recente » Cod sursa (job #56400) | Cod sursa (job #925072) | Cod sursa (job #148159) | Cod sursa (job #253037) | Cod sursa (job #1958998)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> vec[50002];
int in[50002],coada[50002];
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int n,m,i,a,b,u=0,p=1,x,l;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
vec[a].push_back(b);
in[b]++;
}
for(i=1;i<=n;i++)
if(!in[i])
coada[++u]=i;
while(p<=u)
{
x=coada[p];
p++;
printf("%d ",x);
l=vec[x].size();
for(i=0;i<l;i++)
{
in[vec[x][i]]--;
if(in[vec[x][i]]==0)
coada[++u]=vec[x][i];
}
}
return 0;
}