Pagini recente » fmi-no-stress-9/solutii | Cod sursa (job #2009233) | Cod sursa (job #2085879) | Cod sursa (job #1433914) | Cod sursa (job #160983)
Cod sursa(job #160983)
#include <stdio.h>
#include <vector>
using namespace std;
vector <int> a[50001];
long i, j, n, m, x, y, pen[50001], b[50001];
void show() {
for (long i = 1; i <= n; ++i) {
printf("%ld ", pen[i]);
}
}
int main() {
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%ld %ld\n", &n, &m);
for (i = 1; i <= m; ++i){
scanf("%ld %ld\n", &x, &y);
a[x].push_back(y);
++b[y];
}
for (i = 1; i <= n; ++i) {
if (b[i] == 0) {
pen[++pen[0]] = i;
}
}
for (i = 1; i <= n; ++i) {
x = pen[i];
for (j = 0; j < a[x].size(); ++j) {
y = a[x][j];
--b[y];
if (b[y] == 0) {
pen[++pen[0]] = y;
}
}
}
show();
return 0;
}