Pagini recente » Cod sursa (job #2367950) | Cod sursa (job #2139298) | Cod sursa (job #576242) | Cod sursa (job #1792211) | Cod sursa (job #775298)
Cod sursa(job #775298)
#include <iostream>
#include <fstream>
#include <vector>
#include <list>
using namespace std;
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");
const int MAXN = 50010;
vector <int> graf[MAXN];
vector <int> sol;
bool viz[MAXN];
inline void DFS (int nod)
{
vector <int> :: iterator it;
viz[nod] = 1;
for (it = graf[nod].begin (); it != graf[nod].end (); ++it)
if (!viz[*it])
DFS (*it);
sol.push_back (nod);
}
int main ()
{
vector <int> :: iterator it;
int N, M, i, x, y;
in >> N >> M;
while (M--){
in >> x >> y;
graf[x].push_back (y);
}
for (i = 1; i <= N; ++i)
if (!viz[i])
DFS(i);
for (it = sol.end () - 1; it >= sol.begin (); --it)
out << *it << " ";
return 0;
}