Pagini recente » Cod sursa (job #1921775) | Cod sursa (job #1650599) | Cod sursa (job #1505557) | Cod sursa (job #2890700) | Cod sursa (job #2867975)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("sortaret.in");
ofstream g ("sortaret.out");
int n,m,d[50100],q[50100];
vector<int>a[50100];
void solve()
{
int i,x;
vector<int>::iterator it;
for (x=1;x<=n;x++)
if (d[x]==0)
q[++q[0]]=x;
for (i=1;i<=n;i++)
{
x=q[i];
for(it=a[x].begin();it!=a[x].end();it++)
{
d[*it]--;
if (d[*it]==0)
q[++q[0]]=*it;
}
}
}
void read()
{
int i,x,y;
f>>n>>m;
for (i=1;i<=m;i++)
{
f>>x>>y;
a[x].push_back(y);
d[y]++;
}
}
void write()
{
int i;
for (i=1;i<=n;i++)
g<<q[i]<<" ";
}
int main()
{
read();
solve();
write();
return 0;
}