Pagini recente » Cod sursa (job #728402) | Cod sursa (job #1904470) | Cod sursa (job #1287683) | Cod sursa (job #2440000) | Cod sursa (job #1996022)
#include <fstream>
#include <vector>
#define MAXN 50002
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector <int> G[MAXN];
int viz[MAXN], postordine[MAXN], x, y, nr, n, m;
inline void DFS(int nod)
{
viz[nod] = 1;
for (vector <int> :: iterator i = G[nod].begin(); i != G[nod].end(); i++)
{
if (!viz[*i])
DFS(*i);
}
postordine[++nr] = nod;
}
inline void Read()
{
fin >> n >> m;
for (int i = 1; i <= m; i++)
{
fin >> x >> y;
G[x].push_back(y);
// G[y].push_back(x);
}
for (int i = 1; i <= n; i++)
{
if (!viz[i])
{
DFS(i);
}
}
for (int i = n; i > 0; i--)
fout << postordine[i] << " ";
}
int main ()
{
Read();
fin.close(); fout.close(); return 0;
}