Pagini recente » Cod sursa (job #333130) | Cod sursa (job #509001) | Cod sursa (job #375012) | Cod sursa (job #3217682) | Cod sursa (job #3248516)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
vector <int> adj[100002];
stack <int> ordine;
int n,m;
int viz[100002];
int dfs(int start){
viz[start]=1;
for(int i=0;i<adj[start].size();i++){
if(viz[adj[start][i]]==0){
dfs(adj[start][i]);
}
}
ordine.push(start);
}
int main(){
ifstream in ("sortaret.in");
ofstream out ( "sortaret.out");
in>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
in>>x>>y;
adj[x].push_back(y);
}
dfs(1);
for(int i=1;i<=n;i++){
if(viz[i]==0){
dfs(i);
}
}
while(!(ordine.empty())){
out<<ordine.top()<<" ";
ordine.pop();
}
return 0;
}