Pagini recente » Cod sursa (job #486154) | Cod sursa (job #654552) | Cod sursa (job #2284293) | Cod sursa (job #1463348) | Cod sursa (job #1599366)
//With DF & Linked Lists
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
#define MAXN 50050
vector <int> edge[MAXN];
vector <int> solution;
int used[MAXN];
int N,M;
void DF(int node)
{
used[node] = 1;
solution.push_back(node);
for (int i = 0; i < edge[node].size(); ++i)
if (!used[edge[node][i]])
DF(edge[node][i]);
}
int main()
{
fin >>N >>M;
for (int i = 0; i < M; ++i)
{
int x,y;
fin >>x >>y;
edge[x].push_back(y);
}
for (int i = 1; i <= N; ++i)
if (!used[i])
DF(i);
for (int i = 0; i < solution.size(); ++i)
fout <<solution[i] <<' ';
fout <<'\n';
return 0;
}