Pagini recente » Cod sursa (job #870111) | Cod sursa (job #1882191) | Cod sursa (job #117510) | Cod sursa (job #596291) | Cod sursa (job #2858694)
#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();
out << node << ' ';
for (auto vecin:v[node])
{
grad[vecin]--;
if (grad[vecin]==0)
q.push(vecin);
}
}
return;
}
main ()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t = 1;
//cin >> t;
while (t--)
solve();
return 0;
}