Pagini recente » Cod sursa (job #1177503) | Cod sursa (job #2123353) | Cod sursa (job #3142649) | Cod sursa (job #2597849) | Cod sursa (job #2425580)
#include <bits/stdc++.h>
using namespace std;
vector <int> VIZITAT(50010);
stack <int> RETURNEZ;
vector <int> cev[50010];
void dfs(int start){
VIZITAT[start] = true;
for(auto it: cev[start]){
if(!VIZITAT[it]){
dfs(it);
}
}
RETURNEZ.push(start);
}
int main()
{
ifstream fin("sortaret.in");
int noduri, muchii;
fin >> noduri >> muchii;
for(int i = 1; i <= muchii; i++){
int x, y;
fin >> x >> y;
cev[x].push_back(y);
}
for(int i = 1; i <= noduri; i++)
VIZITAT[i] = false;
for(int i = 1; i <= noduri; i++)
if(!VIZITAT[i])
dfs(i);
ofstream fout("sortaret.out");
while(!RETURNEZ.empty()){
fout << RETURNEZ.top() << " ";
cout << RETURNEZ.top() << " ";
RETURNEZ.pop();
}
return 0;
}