Pagini recente » Monitorul de evaluare | Cod sursa (job #2046069) | Cod sursa (job #761753) | Cod sursa (job #1330382) | Cod sursa (job #1954056)
#include <cstdio>
#include <vector>
using namespace std;
const int MAX_N = 50000;
vector<int> g[5 + MAX_N];
bool viz[5 + MAX_N];
vector<int> sol;
void dfs(int u) {
viz[u] = true;
for (auto v : g[u]) {
if (!viz[v])
dfs(v);
}
sol.push_back(u);
}
int main() {
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int N, M;
scanf("%d%d", &N, &M);
for (int i = 1; i <= M; ++i) {
int u, v;
scanf("%d%d", &u, &v);
g[u].push_back(v);
g[v].push_back(u);
}
for (int u = 1; u <= N; ++u) {
if (!viz[u])
dfs(u);
}
for (int i = (int) sol.size() - 1; i >= 0; --i)
printf("%d ", sol[i]);
printf("\n");
return 0;
}