#include<bits/stdc++.h> usingnamespace std; using i32 = int32_t; using i64 = int64_t; using i128 = __int128_t; using u32 = uint32_t; using u64 = uint64_t; using u128 = __uint128_t;
structEdge { int u, v, w; }; vector<Edge> edges; vector<bool> vis;
voiddfs(int u){ vis[u] = true; for (auto [a, v, w] : edges) { if (a != u) continue; cout << u << ' ' << v << ' ' << w << '\n'; if (!vis[v]) dfs(v); } }
int32_tmain(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vis.assign(n + 1, false); for (int i = 1; i <= m; i++) { int u, v, w; cin >> u >> v >> w; edges.push_back({u, v, w}); } dfs(1); return0; }
#include<bits/stdc++.h> usingnamespace std; using i32 = int32_t; using i64 = int64_t; using i128 = __int128_t; using u32 = uint32_t; using u64 = uint64_t; using u128 = __uint128_t;
structEdge { int v, w; }; vector<vector<Edge>> g; vector<bool> vis;
voiddfs(int u){ vis[u] = true; for (auto [v, w] : g[u]) { cout << u << ' ' << v << ' ' << w << '\n'; if (!vis[v]) dfs(v); } }
int32_tmain(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; g.resize(n + 1); vis.assign(n + 1, false); for (int i = 1; i <= m; i++) { int u, v, w; cin >> u >> v >> w; g[u].push_back({v, w}); g[v].push_back({u, w}); } dfs(1); return0; }
#include<bits/stdc++.h> usingnamespace std; using i32 = int32_t; using i64 = int64_t; using i128 = __int128_t; using u32 = uint32_t; using u64 = uint64_t; using u128 = __uint128_t;
structEdge { int u, v, w; }; vector<Edge> edges; vector<vector<int>> g; vector<bool> vis;
voidadd(int u, int v, int w){ edges.push_back({u, v, w}); g[u].push_back(static_cast<int>(edges.size()) - 1); }
voiddfs(int u){ vis[u] = true; for (int id : g[u]) { auto [a, v, w] = edges[id]; cout << a << ' ' << v << ' ' << w << '\n'; if (!vis[v]) dfs(v); } }
int32_tmain(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; g.resize(n + 1); vis.assign(n + 1, false); for (int i = 1; i <= m; i++) { int u, v, w; cin >> u >> v >> w; add(u, v, w); add(v, u, w); } dfs(1); return0; }
#include<bits/stdc++.h> usingnamespace std; using i32 = int32_t; using i64 = int64_t; using i128 = __int128_t; using u32 = uint32_t; using u64 = uint64_t; using u128 = __uint128_t;
constint MAXN = 100005, MAXM = 200005; structEdge { int to, w, nxt; } edges[MAXM]; int head[MAXN], cnt; bool vis[MAXN];
voidadd(int u, int v, int w){ edges[cnt] = {v, w, head[u]}; head[u] = cnt++; }
voiddfs(int u){ vis[u] = true; for (int i = head[u]; i != -1; i = edges[i].nxt) { auto [v, w, nxt] = edges[i]; cout << u << ' ' << v << ' ' << w << '\n'; if (!vis[v]) dfs(v); } }
int32_tmain(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; fill(head, head + n + 1, -1); for (int i = 1; i <= m; i++) { int u, v, w; cin >> u >> v >> w; add(u, v, w); add(v, u, w); } dfs(1); return0; }