Pagini recente » Cod sursa (job #1431664) | Cod sursa (job #436735) | Cod sursa (job #1880413) | Cod sursa (job #2642117) | Cod sursa (job #3255461)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int nmax=5e4+1;
int x,y,n,m;
bitset<nmax>vis;
vector<int>top;
vector<vector<int>> graf;
void dfs(int nod){
vis[nod]=1;
for(int i:graf[nod]){
if(!vis[i]){
dfs(i);
}
}
top.emplace_back(nod);
}
int main()
{
fin>>n>>m;
graf.assign(n,vector<int>());
for(int i=0;i<m;i++){
fin>>x>>y;
x--;
y--;
graf[x].push_back(y);
}
for(int i=0;i<n;i++){
if(!vis[i]){
dfs(i);
}
}
reverse(top.begin(),top.end());
for(int i:top){
fout<<i+1<<" ";
}
return 0;
}