Pagini recente » Cod sursa (job #185313) | Cod sursa (job #2176380) | Cod sursa (job #3210869) | Cod sursa (job #1024519) | Cod sursa (job #1478714)
#include <fstream>
#include <list>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n, m, x, y;
int answer[50001];
int visited[50001];
int k = 0;
list<int> adjacenceLists[50001];
void dfs(int node){
visited[node] = 1;
for (list<int>::iterator it = adjacenceLists[node].begin(); it != adjacenceLists[node].end(); it++){
if (visited[*it]==0) dfs(*it);
}
answer[++k] = node;
}
int main(void){
in >> n >> m;
for (int i=1; i<=m;i++){
in >> x >> y;
adjacenceLists[x].push_back(y);
}
for (int i = 1; i<=n; i++){
if (visited[i]==0) dfs(i);
}
for (int i=n; i>0; i--) out << answer[i] << " ";
return 0;
}