제출 #1150485

#제출 시각아이디문제언어결과실행 시간메모리
1150485The_Samurai어르신 집배원 (BOI14_postmen)C++20
0 / 100
1 ms2632 KiB
// I stand with PALESTINE // #pragma GCC optimize("Ofast,O3") // #pragma GCC target("avx,avx2") #include "bits/stdc++.h" using namespace std; using ll = long long; const int M = 2e5 + 5, N = 1e5 + 5; vector<bool> deleted(M); vector<vector<pair<int, int>>> g(N); vector<int> way; void dfs(int u) { while (!g[u].empty()) { if (deleted[g[u].back().second]) { g[u].pop_back(); continue; } deleted[g[u].back().second] = true; dfs(g[u].back().first); } way.emplace_back(u); } void solve() { int n, m; cin >> n >> m; for (int i = 0; i < m; i++) { int u, v; cin >> u >> v; g[u].emplace_back(v, i); g[v].emplace_back(u, i); } for (int i = 1; i <= n; i++) { if (g[i].size() % 2) assert(false); } dfs(1); if (way.size() < m + 1) assert(false); way.pop_back(); for (int x: way) cout << x << ' '; } int main() { cin.tie(0)->sync_with_stdio(false); #ifdef sunnatov freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int q = 1; // cin >> q; while (q--) { solve(); cout << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...