Pagini recente » Cod sursa (job #179299) | Cod sursa (job #2449201) | Cod sursa (job #3191573) | Cod sursa (job #80646) | Cod sursa (job #2858692)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");
vector <int> v[50001];
int grad[50001];
void solve()
{
int n, m;
in >> n >> m;
for (int i = 1;i<=m;++i)
{
int a, b;
in >> a >> b;
v[a].push_back(b);
grad[b]++;
}
queue <int> q;
for (int i = 1;i<=n;++i)
if (grad[i] == 0)
q.push(i);
vector <int> ans;
while(!q.empty())
{
int node = q.front();
ans.push_back(node);
for (auto vecin:v[nod])
{
grad[vecin]--;
if (grad[vecin]==0)
q.push(vecin);
}
}
for (auto it:ans)
out << it << ' ';
return;
}
main ()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t = 1;
//cin >> t;
while (t--)
solve();
return 0;
}