Mai intai trebuie sa te autentifici.
Cod sursa(job #2484407)
Utilizator | Data | 31 octombrie 2019 08:45:49 | |
---|---|---|---|
Problema | Sortare topologica | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
ifstream fin("sortaret.in"); ofstream fout("sortaret.out");
vector<vector<int> > g;
vector<int> v;
list<int> l;
int n, m, x, y;
void dfs(int s){
v[s]=true;
for(auto i=g[s].begin(); i!=g[s].end(); i++){
if(!v[*i]){dfs(*i);}
}
l.push_front(s);
}
int main(){
fin>>n>>m;
g.resize(n+1);
v.resize(n+1, 0);
for(int i=1; i<=m; i++){
fin>>x>>y;
g[x].pb(y);
}
for(int i=1; i<=n; i++){
dfs(i);
}
while(!l.empty()){
fout<<l.front()<<' ';
l.pop_front();
}
return 0;
}