제출 #1245413

#제출 시각아이디문제언어결과실행 시간메모리
1245413Thunnus어르신 집배원 (BOI14_postmen)C++20
100 / 100
228 ms88672 KiB
#include<bits/stdc++.h> using namespace std; using i64 = long long; #define int i64 #define vi vector<int> #define vvi vector<vi> #define vb vector<bool> #define pii pair<int, int> #define fi first #define se second #define sz(x) (int)(x).size() inline void solve(){ int n, m; cin >> n >> m; vector<vector<pii>> adj(n); for(int i = 0; i < m; i++){ int a, b; cin >> a >> b; adj[--a].emplace_back(--b, i); adj[b].emplace_back(a, i); } vb vis(m); vi circuit, seen(n); function<void(int)> dfs = [&](int v) -> void { while(!adj[v].empty()){ pii to = adj[v].back(); adj[v].pop_back(); if(vis[to.se]) continue; vis[to.se] = true; dfs(to.fi); } circuit.emplace_back(v); if(++seen[v] == 2){ cout << v + 1 << " "; circuit.pop_back(); while(circuit.back() != v){ cout << circuit.back() + 1 << " "; seen[circuit.back()]--; circuit.pop_back(); } cout << "\n"; seen[v] = 1; } return; }; dfs(0); return; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); int t = 1; //cin >> t; while(t--){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...