Submission #109018

#TimeUsernameProblemLanguageResultExecution timeMemory
109018thebes어르신 집배원 (BOI14_postmen)C++14
38 / 100
1089 ms42360 KiB
#include <bits/stdc++.h> using namespace std; const int MN = 5e5+5; set<int> adj[MN]; int n, m, i, x, y, f, rt, st[MN]; stack<int> s; void dfs(int n,int p){ st[n]=1; s.push(n); for(auto v : adj[n]){ if(v==p) continue; if(v==rt){ adj[n].erase(rt); adj[rt].erase(n); int lst = n; printf("%d ",n); while(s.size()>1){ s.pop(); int cur = s.top(); printf("%d ",cur); adj[cur].erase(lst); adj[lst].erase(cur); lst = cur; } printf("\n"); f = 1; } else if(!st[v]) dfs(v,n); if(f) break; } st[n]=0; if(s.size()&&s.top()==n) s.pop(); } int main(){ for(scanf("%d%d",&n,&m),i=1;i<=m;i++){ scanf("%d%d",&x,&y); adj[x].insert(y); adj[y].insert(x); } i=1; while(i<=n){ f=0; rt=i; dfs(i,-1); if(!f) i++; } return 0; }

Compilation message (stderr)

postmen.cpp: In function 'int main()':
postmen.cpp:37:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(scanf("%d%d",&n,&m),i=1;i<=m;i++){
         ~~~~~~~~~~~~~~~~~~~^~~~
postmen.cpp:38:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&x,&y);
         ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...