Pagini recente » Cod sursa (job #323468) | Cod sursa (job #358446) | Cod sursa (job #1999946) | Cod sursa (job #1693405) | Cod sursa (job #2772336)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n,m,r[50010],x,y,f[50010],p;
vector<vector<int>>a;
int main()
{
in>>n>>m;
a.resize(n+5);
for(int i=1;i<=m;++i)
{
in>>x>>y;
a[x].push_back(y);
++f[y];
}
for(int i=1;i<=n;++i)
{
if(f[i]==0)
r[++r[0]]=i;
}
while(p<n)
{
++p;
for(auto q:a[r[p]])
{
--f[q];
if(f[q]==0)
r[++r[0]]=q;
}
}
for(int i=1;i<=n;++i)
out<<r[i]<<' ';
return 0;
}