Submission #14817

#TimeUsernameProblemLanguageResultExecution timeMemory
14817eaststarSenior Postmen (BOI14_postmen)C++98
100 / 100
437 ms19560 KiB
#include <stdio.h> int s[500010],e[500010],cnt[500010],a[1000010],visit[500010],chk[500010],p[500010]; void ans(int k){ int t,l; for(;;k=l){ int&n=cnt[k]; for(;(s[a[n]]==k||e[a[n]]==k)&&chk[a[n]];++n); if(s[a[n]]!=k&&e[a[n]]!=k)return; visit[k]=chk[a[n]]=1; l=s[a[n]]==k? e[a[n]]:s[a[n]]; if(visit[l]){ t=k; for(;t!=l;t=p[t]){ visit[t]=0; printf("%d ",t); } printf("%d\n",t); } else p[l]=k; } } int main(){ int i,n,m; scanf("%d%d",&n,&m); for(i=1;i<=m;++i){ scanf("%d%d",s+i,e+i); ++cnt[s[i]],++cnt[e[i]]; } for(i=1;i<=n;++i)cnt[i]+=cnt[i-1]; for(i=1;i<=m;++i)a[--cnt[s[i]]]=a[--cnt[e[i]]]=i; for(i=1;i<=n;++i)ans(i); return 0; }

Compilation message (stderr)

postmen.cpp: In function 'int main()':
postmen.cpp:24: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:26:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",s+i,e+i);
         ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...