Pagini recente » Cod sursa (job #3368942) | Cod sursa (job #3368950) | Profil hidden_soft | Cod sursa (job #3368917) | Cod sursa (job #3368907)
#include <bits/stdc++.h>
using namespace std;
int n,m;
vector<int>M[100001];
vector<int>ans;
queue<int>q;
int grad[100001];
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
cin >> n >> m;
while(m--)
{
int x,y;
cin >> x >> y;
M[x].push_back(y);
grad[y]++;
}
for(int i = 1;i<=n;++i)
{
if(grad[i] == 0)
{
q.push(i);
}
}
while(!q.empty())
{
int x = q.front();
ans.push_back(x);
q.pop();
for(auto i : M[x])
{
grad[i]--;
if(grad[i] == 0)
q.push(i);
}
}
for(auto i : ans)
cout << i << " ";
return 0;
}