Pagini recente » Cod sursa (job #1804520) | Cod sursa (job #1221073) | Cod sursa (job #2000587)
#include <fstream>
#include <vector>
#include <iterator>
using namespace std;
vector<int> list;
void sort(int nod, vector<int>* arce, bool* visited) {
if (visited[nod]) return;
visited[nod] = true;
for (vector<int>::iterator it = arce[nod].begin();it != arce[nod].end();it++)
sort(*it, arce, visited);
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* visited = new bool[N];
for (int i = 0;i < N;++i)
visited[i] = false;
for (int i = 0;i < N;++i)
sort(i,arce,visited);
while (!list.empty()) {
out << list.back()+1 << " ";
list.pop_back();
}
}