Pagini recente » ONIS 2014, Clasament Final | Cod sursa (job #127780) | Matcnt | Istoria paginii utilizator/bluestorm57 | Cod sursa (job #2382129)
#include <iostream>
#include <vector>
#include <stack>
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector <int> graf[50005];
stack <int> top;
int n,m,vizitat[50005];
void citire(){
fin>>n>>m;
int i,j,l;
for(l=1;l<=m;l++){
fin>>i>>j;
graf[i].push_back(j);
}
}
void dfs(int nod){
vizitat[nod]=true;
for(unsigned int i=0;i<graf[nod].size();i++)
if(!vizitat[graf[nod][i]])
dfs(graf[nod][i]);
top.push(nod);
}
int main(){
citire();
for(int i=1;i<=n;i++)
if(!vizitat[i])
dfs(i);
while(!top.empty()){
fout << top.top()<< " ";
top.pop();
}
return 0;
}