Pagini recente » Cod sursa (job #2054228) | Cod sursa (job #2885585) | Cod sursa (job #2486190) | Cod sursa (job #2000311) | Cod sursa (job #2000586)
#include <fstream>
#include <vector>
#include <iterator>
using namespace std;
vector<int> list;
void sort(int nod, vector<int>* arce, bool* notVisited) {
if (!notVisited[nod]) return;
notVisited[nod] = false;
for (vector<int>::iterator it = arce[nod].begin();it != arce[nod].end();it++)
sort(*it, arce, notVisited);
list.push_back(nod);
}
int main() {
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int N, M;
in >> N >> M;
vector<int> *arce = new vector<int>[N];
for (;M;--M) {
int from, to;
in >> from >> to;
arce[from-1].push_back(to-1);
}
bool* notVisited = new bool[N];
for (int i = 0;i < N;++i)
sort(i,arce,notVisited);
for (int i = 0;i < N;++i) {
out << list.back()+1 << " ";
list.pop_back();
}
}