Pagini recente » Cod sursa (job #14814) | Cod sursa (job #2056334) | Cod sursa (job #770949) | Cod sursa (job #349554) | Cod sursa (job #3248520)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
vector <int> adj[50002];
stack <int> ordine;
int n,m;
int viz[50002];
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);
}
for(int i=1;i<=n;i++){
if(viz[i]==0){
dfs(i);
}
}
while(!(ordine.empty())){
out<<ordine.top()<<" ";
ordine.pop();
}
return 0;
}