Pagini recente » Cod sursa (job #1789011) | Cod sursa (job #1704904) | Istoria paginii runda/eusebiu_oji_2016_cls9/clasament | Cod sursa (job #1327505) | Cod sursa (job #2310201)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int N, M;
bool viz[50002];
int nodes[50002], cnt;
vector <int> L[50002];
void DFS_final(int k)
{
viz[k] = 1;
for (int j = 0; j < L[k].size(); j++)
{
if (!viz[L[k][j]])
{
DFS_final(L[k][j]);
}
}
nodes[++cnt] = k;
}
int main ()
{
int x, y;
fin >> N >> M;
for (int i = 0; i < M; i++)
{
fin >> x >> y;
L[x].push_back(y);
}
for (int i = 1; i <= N; i++)
if (!viz[i])
DFS_final(i);
for (int i = N; i >= 1; i--)
fout << nodes[i] << " ";
fout << endl;
return 0;
}