Pagini recente » Cod sursa (job #1774689) | Cod sursa (job #13555) | Cod sursa (job #2577263) | Cod sursa (job #1389390) | Cod sursa (job #354763)
Cod sursa(job #354763)
#include <stdio.h>
#include <vector>
using namespace std;
vector<int> a[50010];
vector<int> c;
int grad[50010];
int x,y,i,n,m,j;
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);
grad[y]++;
a[x].push_back(y);
}
for (i=1; i<=n; i++)
if (!grad[i])
c.push_back(i);
for (i=0; i<n; i++){
printf("%d ",c[i]);
for (j=0; j<a[c[i]].size(); j++){
grad[a[c[i]][j]]--;
if (!grad[a[c[i]][j]])
c.push_back(a[c[i]][j]);
}
}
return 0;
}