Pagini recente » Cod sursa (job #1292308) | Cod sursa (job #166128) | Cod sursa (job #2787039) | Cod sursa (job #2243250) | Cod sursa (job #2476978)
#include<bits/stdc++.h>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
const int Nmax = 10000;
vector <int> G[Nmax+5];
int N, M, Use[Nmax+5], Tsort[Nmax+5], k;
void Read() {
in >> N >> M;
for (int i = 1, x, y; i <= M; i++) {
in >> x >> y;
G[x].push_back(y);
}
}
void DFS(int Nod) {
Use[Nod] = 1;
for (int i = 0; i < G[Nod].size(); i++) {
int Vecin = G[Nod][i];
if(!Use[Vecin])
DFS(Vecin);
}
Tsort[k++] = Nod;
}
int main() {
Read();
for (int i = 1; i <= N; i++) {
if(!Use[i])
DFS(i);
}
for (int i = k-1; i >= 0; i--)
out << Tsort[i] << " ";
}