Submission #115991

#TimeUsernameProblemLanguageResultExecution timeMemory
115991ckodserSenior Postmen (BOI14_postmen)C++14
55 / 100
585 ms55672 KiB
#include<bits/stdc++.h> #define ll int #define pb push_back #define mp make_pair #define ld long double #define F first #define S second #define pii pair<ll,ll> using namespace :: std; const ll mod=1e9+7; const ll maxn=5e5+500; const ll inf=1e9+900; vector<ll> ger[maxn]; ll s[maxn]; ll t[maxn]; bool vis[maxn]; ll l[maxn]; stack<ll> ans; bool inAns[maxn]; void dfs(ll a){ while(l[a]<ger[a].size()){ if(!vis[ger[a][l[a]]]){ ll e=ger[a][l[a]]; vis[e]=1; dfs(s[e]^t[e]^a); } l[a]++; } if(inAns[a]){ while(ans.top()!=a){ printf("%d ",ans.top()); inAns[ans.top()]=0; ans.pop(); } printf("%d\n",a); }else{ ans.push(a); inAns[a]=1; } } int main(){ ll n,m; scanf("%d%d",&n,&m); for(ll i=0;i<m;i++){ scanf("%d%d",&s[i],&t[i]); ger[s[i]].pb(i); ger[t[i]].pb(i); } dfs(1); }

Compilation message (stderr)

postmen.cpp: In function 'void dfs(int)':
postmen.cpp:27:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(l[a]<ger[a].size()){
           ~~~~^~~~~~~~~~~~~~
postmen.cpp: In function 'int main()':
postmen.cpp:49:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~
postmen.cpp:51:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&s[i],&t[i]);
  ~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...