Pagini recente » Cod sursa (job #1282900) | Cod sursa (job #1915975) | Cod sursa (job #926238) | Cod sursa (job #2753198) | Cod sursa (job #2084912)
#include <fstream>
#include <algorithm>
#include <stack>
#include <vector>
#define DIM 50010
using namespace std;
int n, m, x, y;
vector <int> graph[DIM];
bool seen[2 * DIM];
vector <int> sol;
void DFS(int node)
{
seen[node] = true;
for (int i = 0;i < (int)graph[node].size();++i)
if (!seen[graph[node][i]])
DFS(graph[node][i]);
sol.push_back(node);
}
int main()
{
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
fin >> n >> m;
for (int i = 1;i <= m;++i)
{
fin >> x >> y;
graph[x].push_back(y);
}
for (int i = 1;i <= n;++i)
if (!seen[i])
DFS(i);
reverse(sol.begin(), sol.end());
for (int i = 0;i < (int)sol.size();++i)
fout << sol[i] << " ";
fin.close();
fout.close();
return 0;
}