Pagini recente » Cod sursa (job #2286154) | Cod sursa (job #2914819) | Cod sursa (job #2412416) | Cod sursa (job #1554262) | Cod sursa (job #1439737)
//004
#include <cstdio>
#include <cstdlib>
#include <list>
#include <vector>
#define li list<long>::iterator
using namespace std;
bool ver[50000];
list<long> ord;
list<long> dir[50000];
long n, m;
void next(long poz) {
if (ver[poz])
return;
for (li it = dir[poz].begin(); it != dir[poz].end(); it++) {
long aux = *it;
next(aux);
}
ver[poz] = true;
ord.push_front(poz + 1);
}
int main() {
FILE* fi = fopen("sortaret.in", "rt");
FILE* fo = fopen("sortaret.out", "wt");
fscanf(fi, "%ld%ld", &n, &m);
for (int i = 0; i < n; i++)
ver[i] = false;
for (long i = 0; i < m; i++) {
long a, b;
fscanf(fi, "%ld%ld", &a, &b);
a--; b--;
dir[a].push_back(b);
}
long poz = 0;
while(poz < n) {
if (ver[poz])
poz++;
else
next(poz);
}
for (li it = ord.begin(); it != ord.end(); it++) {
long aux = *it;
fprintf(fo, "%ld ", aux);
}
return 0;
}