Pagini recente » Cod sursa (job #1692952) | Cod sursa (job #2202232) | Borderou de evaluare (job #103618) | Cod sursa (job #3221471) | Cod sursa (job #2373558)
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
ifstream f1("sortaret.in");
ofstream f2("sortaret.out");
int n,m;
vector<int> legaturi[50005];
bitset<50005> viz;
vector<int> solutie;
void dfs(int start){
viz[start] = true;
for(auto nod : legaturi[start]){
if(viz[nod] == false)
dfs(nod);
}
solutie.push_back(start);
}
int main() {
f1>>n>>m;
int x,y;
for(int i=0;i<m;i++){
f1>>x>>y;
legaturi[x].push_back(y);
}
for(int i=1;i<=n;i++){
if(viz[i]==false)
dfs(i);
}
for(int i = solutie.size()-1; i>=0;i--){
f2<<solutie[i]<<" ";
}
return 0;
}