Pagini recente » Cod sursa (job #382451) | Cod sursa (job #1847718) | Cod sursa (job #2601714) | Cod sursa (job #1668631) | Cod sursa (job #186856)
Cod sursa(job #186856)
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <vector>
using namespace std;
#define N 50176
vector <int> muchie[N];
int grad[N], lista[N];
int main()
{
freopen("sortaret.in", "rt", stdin);
freopen("sortaret.out", "wt", stdout);
int n, m;
scanf("%d%d", &n, &m);
while (m--)
{
int x, y;
scanf("%d%d", &x, &y);
muchie[x].push_back(y);
grad[y]++;
}
for (int i = 1; i <= n; i++)
if (grad[i] == 0)
lista[++lista[0]] = i;
for (int i = 1; i <= n; i++)
{
int nod = lista[i];
for (vector<int>::iterator it = muchie[nod].begin(); it != muchie[nod].end(); it++)
if (!(--grad[*it]))
lista[++lista[0]] = *it;
}
for (int i = 1; i <= n; i++)
printf("%d ", lista[i]);
printf("\n");
return 0;
}