Pagini recente » Cod sursa (job #3284234) | Cod sursa (job #3234212) | Cod sursa (job #2939212) | Cod sursa (job #1021976) | Cod sursa (job #2000296)
#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);
while (!list.empty()) {
out << list.back()+1 << " ";
list.pop_back();
}
}