Pagini recente » Cod sursa (job #2738146) | Cod sursa (job #592979) | Cod sursa (job #740636) | Cod sursa (job #2877812) | Cod sursa (job #1439739)
//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++)
next(*it);
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++)
fprintf(fo, "%ld ", *it);
return 0;
}