Submission #1119608

#TimeUsernameProblemLanguageResultExecution timeMemory
1119608vjudge1Senior Postmen (BOI14_postmen)C++17
55 / 100
766 ms136996 KiB
#include <bits/stdc++.h> #define ll long long #define fr(i, d, c) for(ll i = d; i <= c; i++) #define fl(i, d, c) for(ll i = d; i >= c; i--) const int N = 5e5 + 9; using namespace std; ll n, m; map<ll, ll> dd; set<ll> adj[N]; stack<ll> st; void run(ll u, ll bd) { dd[u] = true; st.push(u); ll v = *adj[u].rbegin(); adj[u].erase(v); adj[v].erase(u); if(dd[v] == true) { while(true) { ll t = st.top(); st.pop(); cout<<t<<" "; dd[t] = false; if(t == v) break; } cout<<'\n'; } if(v != bd) run(v, bd); } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> m; fr(i, 1, m) { ll x, y; cin>> x >> y; adj[x].insert(y); adj[y].insert(x); } fr(i, 1, n) { while(adj[i].size()) { dd.clear(); run(i, i); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...