Pagini recente » Cod sursa (job #475271) | Cod sursa (job #994835) | Cod sursa (job #2677684) | Cod sursa (job #529054) | Cod sursa (job #916625)
Cod sursa(job #916625)
#include <fstream>
#include <vector>
#define pb push_back
#define sz size()
using namespace std;
ifstream f("sortaret.in"); ofstream g("sortaret.out");
const int NMAX = 50009;
int n, m, a[NMAX], viz[NMAX], Q[NMAX];
vector <int> L[NMAX];
inline void read_Data() {
f >> n >> m;
int x, y;
for(int i = 1; i <= m; ++i) {
f >> x >> y;
L[x].pb(y);
}
}
inline void DF(int nod) {
viz[nod] = 1;
for(int i = 0; i < L[nod].sz; ++i)
if(!viz[L[nod][i]]) DF(L[nod][i]);
Q[++Q[0]] = nod;
}
inline void solve() {
for(int i = 1; i <= n; ++i)
if(!viz[i]) DF(i);
}
inline void write_Data() {
for(int i = n;i >= 1; --i) g << Q[i] << ' ';
g << '\n';
g.close();
}
int main() {
read_Data();
solve();
write_Data();
return 0;
}