Pagini recente » Cod sursa (job #3189670) | Cod sursa (job #2897630) | Cod sursa (job #1236360) | Cod sursa (job #1047717) | Cod sursa (job #2722796)
#include <bits/stdc++.h>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n, m;
int vf[100001], urm[100001], last[50001];
void adaugaVf(int from, int to)
{
static int poz = 0;
vf[++poz] = to;
urm[poz] = last[from];
last[from] = poz;
}
int sortTop[50001];
bitset <50001> viz;
void sortareTop(int nod = 1)
{
static int poz = n;
viz[nod] = 1;
for(int k = last[nod]; k; k = urm[k])
if(viz[vf[k]] == 0)
sortareTop(vf[k]);
sortTop[poz--] = nod;
}
int main()
{
in >> n >> m;
for(int k = 1, i, j; k <= m; k++)
{
in >> i >> j;
adaugaVf(i, j);
}
sortareTop();
for(int i = 1; i <= n; i++)
out << sortTop[i] << ' ';
return 0;
}