Pagini recente » Cod sursa (job #1398410) | Cod sursa (job #2608836) | Cod sursa (job #108341) | Cod sursa (job #2460704) | Cod sursa (job #2510222)
#include <map>
#include <set>
#include <vector>
#include <fstream>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
vector<int> edges[50010];
vector<int> sol;
bool vis[50010];
void dfs(int nod) {
vis[nod] = true;
for (auto it : edges[nod]) {
if(vis[it]==false)
dfs(it);
}
sol.emplace_back(nod);
}
int main() {
int Edges,Vertices;
cin >> Vertices >> Edges;
for (int i = 1; i <= Edges; i++) {
int from, to;
cin >> from >> to;
edges[from].push_back(to);
}
for (int i = 1; i <= Vertices; i++)
if(vis[i]==false)
dfs(i);
for (int i = Vertices-1; i >= 0; i--)
cout << sol[i] << ' ';
}