Pagini recente » Cod sursa (job #912658) | Cod sursa (job #3270064) | Cod sursa (job #2078704) | Cod sursa (job #37526) | Cod sursa (job #168744)
Cod sursa(job #168744)
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <vector.h>
#define MAXN 50000
int n, in[MAXN];
vector<int> mat[MAXN];
ofstream fout("sortaret.out");
void go(int i){
in[i] = -1;
fout << i << " ";
for (vector<int>::iterator it = mat[i].begin();
it != mat[i].end(); ++it) {
int k = *it;
in[k]--;
if (!in[k])
go(k);
}
}
int main(void){
ifstream fin("sortaret.in");
int m,x,y;
fin >> n;
for (fin >> m;m;m--){
fin >> x >> y;
mat[x].push_back(y);
in[y]++;
}
for (int i=1;i<=n;i++)
if (!in[i]) go(i);
fin.close();
fout.close();
return 0;
}