Pagini recente » Statistici Ianis-Vlad Ursu (inwursu) | Monitorul de evaluare | Istoria paginii utilizator/denisabadarau | Rating vara 2021 (vara2021) | Cod sursa (job #2581749)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream f2("sortaret.out");
int viz[100005], control[100005], n, m, i, x, y;
vector <int> listadeAdiancenta[100005];
int t = 1;
void dfs(int plecare){
viz[plecare] = 1;
vector <int> lista = listadeAdiancenta[plecare];
for(vector < int> :: iterator it = lista.begin(); it != lista.end(); it++){
if(viz[*it] == 1){
continue;
}
dfs(*it);
}
if(viz[plecare] == 1){
control[t] = plecare;
t++;
}
}
int main()
{
f >> n >> m;
for(i = 1; i <= n; i++){
viz[i] = 0;
}
for(i = 1; i <= m; i++){
f >> x >> y;
listadeAdiancenta[x].push_back(y);
}
for(i = 1; i <= n; i++){
if(viz[i] == 0){
dfs(i);
}
}
for(i = n; i >= 1; i--){
f2 << control[i] << " ";
}
return 0;
}