Pagini recente » Cod sursa (job #2178132) | ONI 2014, Clasele 11-12 | Cod sursa (job #1037713) | Cod sursa (job #1418483) | Cod sursa (job #1908549)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
vector <int> L[50004];
int cnt, n, m, v[50004];
bool viz[50004];
void DFS(int k)
{
int i;
viz[k] = 1;
for (int j=0; j<L[k].size(); j++)
{
i = L[k][j];
if (!viz[i])
DFS(i);
}
v[--cnt]=k;
}
int main ()
{
int x, y;
fin >> n >> m;
cnt=n;
for (int i=1; i<=m; i++)
fin >> x >> y, L[x].push_back(y);
for (int i=1; i<=n; i++)
if (!viz[i])
DFS(i);
for (int i=0; i<n; i++)
fout << v[i] << " ";
fout << "\n";
fin.close();
fout.close();
return 0;
}