Pagini recente » Cod sursa (job #1274007) | Cod sursa (job #2675842) | Cod sursa (job #1847752) | Cod sursa (job #812691) | Cod sursa (job #2427470)
#if 1
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> v[50002];
int grad[50002];
int sol[50002];
int n, m;
int main()
{
int i, ii, j, x, y, ind = 1;
f >> n >> m;
for (i = 1; i <= m; i++)
{
f >> x >> y;
v[y].push_back(x);
grad[x]++;
}
for (i = 1; i <= n; i++)
{
if (grad[i] == 0)
{
sol[ind] = i;
ind++;
}
}
for (ii = 1; ii < ind; ii++)
{
i = sol[ii];
for (j = 0; j < v[i].size(); j++)
{
grad[v[i][j]]--;
if (grad[v[i][j]] == 0)
{
sol[ind] = v[i][j];
ind++;
}
}
}
for (i = n; i >= 1; i--)
g << sol[i] << " ";
return 0;
}
#endif