Pagini recente » Cod sursa (job #1412686) | Cod sursa (job #3261232) | Cod sursa (job #1423923) | Cod sursa (job #1753825) | Cod sursa (job #2355547)
#include <fstream>
#include <vector>
#include <bitset>
#define N 50001
#define M 100001
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
bitset<N> vis;
vector<int> G[M], L;
int n, m;
void visit(int node)
{
if (vis[node]) return;
for (auto it : G[node])
visit(it);
vis.set(node);
L.push_back(node);
}
void tsort()
{
for(int i = 1; i <= n; i++)
if(!vis[i])
visit(i);
}
int main()
{
int x, y;
f >> n >> m;
for (int i = 0; i < m; i++)
{
f >> x >> y;
G[x].push_back(y);
}
tsort();
for(auto it = L.rbegin(); it < L.rend(); ++it)
g << *it << " ";
return 0;
}