Pagini recente » Cod sursa (job #115951) | Cod sursa (job #1735596) | Cod sursa (job #2106809) | Cod sursa (job #758684) | Cod sursa (job #2671303)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MAXN 100002
vector<int> links[MAXN];
vector<int> output;
bool visited[MAXN];
void dfs(int node){
if(visited[node])
return;
visited[node] = true;
for(auto v : links[node])
dfs(v);
output.push_back(node);
}
int main(){
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int N, M;
fin >> N >> M;
int a, b;
for( int i = 0; i < M; i++ ){
fin >> a >> b;
links[a].push_back(b);
}
for( int i = 1; i <= N; i++ )
if(!visited[i])
dfs(i);
for( int i = N - 1; i >= 0; i-- )
fout << output[i] << " ";
return 0;
}