Pagini recente » Cod sursa (job #142122) | Cod sursa (job #940585) | Concurs de programare Symbian / QT | Cod sursa (job #2654143) | Cod sursa (job #2779775)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n, m;
vector<vector<int>> G;
vector<int> vf;
stack<int> my_Stack;
void dfs(int k){
vf[k] = 1;
for(auto x: G[k]){
if(!vf[x])dfs(x);
}
my_Stack.push(k);
}
int main(){
fin >> n >> m ;
G = vector<vector<int>> (n+1);
vf = vector<int> (n+1);
for(int i=1; i<=m; i++){
int nod1,nod2;
fin >> nod1 >> nod2;
G[nod1].push_back(nod2);
}
for(int i=1; i <=n; i++){
if(!vf[i]) dfs(i);
}
while(!my_Stack.empty()){
fout << my_Stack.top() << ' ';
my_Stack.pop();
}
return 0;
}