Pagini recente » Cod sursa (job #3238586) | Cod sursa (job #1325426) | Cod sursa (job #2883633) | Cod sursa (job #1821100) | Cod sursa (job #2187458)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int N = 50001;
vector<int> a[N];
int n, m, coada[N], nr, stop[N];
bool viz[N];
void read() {
int i, x, y;
fin >> n >> m;
for (i = 1; i <= m; i++) {
fin >> x >> y;
a[x].push_back(y);
}
}
void dfs_topologic(int nod) {
int i, y;
viz[nod] = true;
for(i = 0; i < a[nod].size(); i++)
{
y = a[nod][i];
if(!viz[y]) dfs_topologic(y);
}
stop[++nr] = nod;
}
int main() {
read();
int i;
for(i = 1; i <= n; i++)
{
if(!viz[i]) dfs_topologic(i);
}
for(i = nr; i > 0; i--)
fout << stop[i] << ' ';
return 0;
}