Pagini recente » Cod sursa (job #2097631) | Cod sursa (job #2685850) | Cod sursa (job #1076129) | Cod sursa (job #734585) | Cod sursa (job #1097376)
#include <cstdio>
using namespace std;
int pred[1001],succ[1001][1001],q[1001];
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int n,m,x,y,i,p=1,u=0;
scanf("%d%d",&n,&m);
for(i=1;i<=m;++i)
{
scanf("%d%d",&x,&y);
pred[y]++;
succ[x][0]++;
succ[x][succ[x][0]]=y;
}
for(i=1;i<=n;++i)
if(pred[i]==0)
q[++u]=i;
while(p<=u)
for(i=1,i<=succ[q[p]][0];++i)
{
if(pred[succ[q[p]]][i]>0)
{
pred[succ[q[p]][i]]--;
if(pred[succ[q[p]][i]]==0)
q[++u]=succ[q[p]];
}
p++;
}
for(i=1;i<=u;++i)
printf("%d ",q[i]);
return 0;
}