Pagini recente » Cod sursa (job #2568916) | Cod sursa (job #2731598) | Cod sursa (job #1917603) | Cod sursa (job #1885270) | Cod sursa (job #2532359)
#include <bits/stdc++.h>
#define nmax 50005
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n,m;
vector<int> lista[nmax];
vector<int> sol;
bool ap[nmax];
void read(){
in >> n >> m;
for(int i=1; i<=m; i++){
int x,y;
in >> x >> y;
lista[x].push_back(y);
}
}
void dfs(int node){
ap[node]=1;
for(auto x:lista[node]){
if(!ap[x]){
dfs(x);
}
}
sol.push_back(node);
}
int main(){
read();
for(int i=1; i<=n; i++){
if(!ap[i]) dfs(i);
}
for(int i=sol.size()-1; i>=0; i--){
out << sol[i] << ' ';
}
}