Pagini recente » Cod sursa (job #344485) | Cod sursa (job #217089) | Cod sursa (job #830776) | Cod sursa (job #2627710) | Cod sursa (job #2432187)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> graph[100001];
int i, Nods, Arcs, x, y, viz[100001], number, sol[100001];
void dfs(int node){
viz[node] = 1;
for(int i = 0; i < graph[node].size(); i++)
if(viz[graph[node][i]] == 0)
dfs(graph[node][i]);
sol[++number] = node;
}
int main()
{ f >> Nods >> Arcs;
for(i = 1; i <= Arcs; i++){
f >> x >> y;
graph[x].push_back(y);
}
for(i = 1; i <= Nods; i++)
if(viz[i] == 0)
dfs(i);
for(i = number; i >= 1; i--)
g << sol[i] << ' ';
return 0;
}