Submission #109012

#TimeUsernameProblemLanguageResultExecution timeMemory
109012thebesSenior Postmen (BOI14_postmen)C++14
38 / 100
1008 ms25312 KiB
#include <bits/stdc++.h> using namespace std; const int MN = 5e5+5; int mo[MN], f, n, m, i, x, y, st[MN]; vector<pair<int,int>> adj[MN]; stack<pair<int,int>> s; void dfs(int n,int p){ st[n] = 1; s.push({n,p}); for(auto v : adj[n]){ if(v.second==p||mo[v.second]) continue; else if(st[v.first]){ f = 1; mo[v.second]=1; printf("%d ",v.first); while(s.size()&&s.top().first!=v.first){ mo[s.top().second]=1; printf("%d ",s.top().first); s.pop(); } printf("\n"); } else dfs(v.first, v.second); if(f) break; } if(s.size()&&s.top().first==n) s.pop(); st[n] = 0; } int main(){ for(scanf("%d%d",&n,&m),i=1;i<=m;i++){ scanf("%d%d",&x,&y); adj[x].push_back({y,i}); adj[y].push_back({x,i}); } i=1; while(i<=n){ f=0; dfs(i,-1); if(!f) i++; } return 0; }

Compilation message (stderr)

postmen.cpp: In function 'int main()':
postmen.cpp:32: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:33: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...