Cod sursa(job #1626210)
Utilizator | Viktor Iuscenko viuscenko | Data | 2 martie 2016 23:33:12 |
---|---|---|---|
Problema | Sortare topologica | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <bits/stdc++.h>
using namespace std;
#define pub push_back
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int N_MAX = 5e4+1;
int n, m, x, y;
vector<int> vec[N_MAX];
vector<int> sol;
bool viz[N_MAX];
void sortaret(int nod) {
if(viz[nod])
return;
sol.pub(nod);
viz[nod] = 1;
for(auto v: vec[nod]) {
sortaret(v);
}
}
int main() {
fin >> n >> m;
for(int i = 0; i < m; ++i)
fin >> x >> y,
vec[x].pub(y);
sortaret(1);
for(auto s : sol)
fout << s << " ";
}