Pagini recente » Cod sursa (job #2507356) | Cod sursa (job #1312371) | Cod sursa (job #1407958) | Cod sursa (job #1457220) | Cod sursa (job #916591)
Cod sursa(job #916591)
#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 = 50005;
int n, m, 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;
Q[++Q[0]] = nod;
for(int i = 1; i <= Q[0]; ++i) {
int p = Q[i];
for(int j = 0; j < L[p].sz; ++j)
if(!viz[L[i][j]]) viz[L[i][j]] = 1, Q[++Q[0]] = L[i][j];
}
}
inline void solve() {
for(int i = 1; i <= n; ++i)
if(!viz[i]) DF(i);
}
inline void write_Data() {
for(int i = 1; i <= n; ++i) g << Q[i] << ' ';
g.close();
}
int main() {
read_Data();
solve();
write_Data();
return 0;
}