Pagini recente » Cod sursa (job #1144876) | Cod sursa (job #2874376) | Cod sursa (job #2380079) | Cod sursa (job #2255262) | Cod sursa (job #2926414)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
std::queue<int> q;
int intern[1000000];
int main()
{
std::vector<std::vector<int>> v(1000000);
std::ifstream cin("sortaret.in");
std::ofstream cout("sortaret.out");
unsigned int n, m;
cin >> n >> m;
for (size_t i = 0; i < m; i++)
{
int a, b;
cin >> a >> b;
intern[b]++;
v[a].push_back(b);
}
for (size_t i = 1; i <= n; i++)
{
if (intern[i] == 0)
{
q.push(i);
}
}
while (!q.empty())
{
int nod = q.front();
cout << nod << " ";
q.pop();
for (auto &&i : v[nod])
{
intern[i]--;
if (intern[i] == 0)
{
q.push(i);
}
}
}
}