Pagini recente » Cod sursa (job #3280400) | Cod sursa (job #2804802) | Cod sursa (job #2162682) | Cod sursa (job #1935479) | Cod sursa (job #3005562)
#include <bits//stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector <vector <int> > g;
vector <int> viz, timp;
int n, m, x, y, k;
void dfs(int nod){
viz[nod] = 1;
for(auto i:g[nod]) {
if(!viz[i]) dfs(i);
}
timp[++k] = nod;
}
void sortare(){
for(int i = 1; i <= n; ++i){
if(!viz[i]) dfs(i);
}
for(int i = n; i >= 1; --i){
fout << timp[i] << " ";
}
}
int main(){
fin >> n >> m;
g = vector <vector <int> > (n+1);
timp = viz = vector <int> (n+1);
for(int i = 1; i <= m; ++i){
fin >> x >> y;
g[x].push_back(y);
}
sortare();
return 0;
}