제출 #1262415

#제출 시각아이디문제언어결과실행 시간메모리
1262415EntityPlantt어르신 집배원 (BOI14_postmen)C++20
55 / 100
536 ms160400 KiB
#include <bits/stdc++.h> using namespace std; constexpr int N = 5e5; int vis[N]; bitset<N> path; set<int> connected, g[N]; int dfs(int u) { path.set(u); while (!g[u].empty()) { int v = *g[u].begin(); g[v].erase(u); if (g[v].empty()) connected.erase(v); g[u].erase(g[u].begin()); if (g[u].empty()) connected.erase(u); if (path.test(v)) { path.reset(u); cout << u + 1 << ' '; return v; } int r = dfs(v); if (r != u) { path.reset(u); cout << u + 1 << ' '; return r; } else cout << u + 1 << '\n'; } return -1; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m; cin >> n >> m; while (m--) { int a, b; cin >> a >> b; g[--a].insert(--b); g[b].insert(a); } for (int i = 0; i < n; i++) if (!g[i].empty()) connected.insert(i); while (!connected.empty()) dfs(*connected.begin()); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...