Pagini recente » Cod sursa (job #1781447) | Cod sursa (job #329897) | Cod sursa (job #1652314) | Cod sursa (job #2051674) | Cod sursa (job #1489683)
#include <bits/stdc++.h>
using namespace std;
vector<int> v[50005];
int viz[50005];
int rez[50005];
void dfs(int in) {
for(int i = 0; i < v[in].size(); i ++) {
if(!viz[v[in][i]])
dfs(v[in][i]);
}
viz[in] = true;
rez[rez[0]] = in;
rez[0] --;
}
int main()
{
FILE *f = fopen("sortaret.in", "r");
FILE *g = fopen("sortaret.out", "w");
int n, m, x, y;
fscanf(f, "%d %d", &n, &m);
for(int i = 1; i <= m; i ++) {
fscanf(f, "%d %d", &x, &y);
v[x].push_back(y);
}
rez[0] = n;
for(int i = 1; i <= n; i ++)
if(!viz[i])
dfs(i);
for(int i = 1; i <= n; i ++)
fprintf(g, "%d ", rez[i]);
fprintf(g, "\n");
return 0;
}