Pagini recente » Cod sursa (job #64872) | Cod sursa (job #250735) | Cod sursa (job #214088) | Cod sursa (job #1118810) | Cod sursa (job #2528742)
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 50005;
vector<int> arb[MAXN];
int srtop[MAXN];
bool viz[MAXN];
int p;
void dfs(int nod, int prec){
if(viz[nod]) return;
viz[nod] = 1;
for(auto x:arb[nod]){
if(x == prec) continue;
dfs(x, nod);
}
srtop[++p] = nod;
}
int main()
{
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n, m;
fin >> n >> m;
for(int i = 1; i <= m; ++i){
int x, y;
fin >> x >> y;
arb[x].push_back(y);
}
for(int i = 1; i <= n; ++i){
if(!viz[i])
dfs(i, 0);
}
for(int i = n; i >= 1; --i) fout << srtop[i] << " ";
return 0;
}