Submission #961023

#TimeUsernameProblemLanguageResultExecution timeMemory
961023noyancanturkSenior Postmen (BOI14_postmen)C++17
55 / 100
310 ms19220 KiB
#ifndef Local #pragma GCC optimize("O3,unroll-loops") #endif #include "bits/stdc++.h" using namespace std; #define int int64_t #define pb push_back const int lim=2e5+100; const int mod=998244353; //const int mod=(1ll<<61)-1; using pii=pair<int,int>; vector<pii>v[lim]; bool vis[lim]; vector<int>path; void dfs(int node){ while(v[node].size()){ pii now=v[node].back(); v[node].pop_back(); if(vis[now.second])continue; vis[now.second]=1; dfs(now.first); } path.pb(node); } inline void solve(){ int n,m; cin>>n>>m; for(int i=0;i<m;i++){ int x,y; cin>>x>>y; v[x].pb({y,i}); v[y].pb({x,i}); } dfs(1); vector<int>cur; bool seen[n+1]; memset(seen,0,sizeof(seen)); for(int j:path){ cerr<<j<<" "; if(seen[j]){ cout<<j<<" "; while(cur.back()!=j){ cout<<cur.back()<<" "; seen[cur.back()]=0; cur.pop_back(); } cout<<"\n"; }else{ cur.push_back(j); seen[j]=1; } } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); #ifdef Local freopen(".in","r",stdin); freopen(".out","w",stdout); #endif int t=1; //cin>>t; while (t--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...