Pagini recente » Cod sursa (job #1164058) | Cod sursa (job #2950535) | Cod sursa (job #3216089) | Cod sursa (job #745203) | Cod sursa (job #2926035)
#include <iostream>
#include <vector>
#include <fstream>
#define MAXN 50100
using namespace std;
vector<int> v[MAXN];
int n, m, out[MAXN], in[MAXN], l[MAXN], cnt;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int main()
{
int a, b;
f >> n >> m;
for (int i=1; i<=m; i++)
{f >> a >> b;
out[a]++;
v[b].push_back(a);
}
for (int i=1; i<=n; i++)
if (out[i]==0)
l[++l[0]]=i;
for (int i=1; i<=n; i++)
{
int x=l[i];
for (int j=0; j<v[x].size(); j++)
{out[v[x][j]]--;
if (out[v[x][j]]==0) l[++l[0]]=v[x][j];
}
}
for (int i=n; i>=1; i--)
g << l[i] << " ";
return 0;
}