Submission #4679

#TimeUsernameProblemLanguageResultExecution timeMemory
4679cki86201저장 (Saveit) (IOI10_saveit)C++98
50 / 100
562 ms15696 KiB
#include "grader.h" #include "encoder.h" //for 50point orz; void encode_number(int x) { for(int i=0;i<10;i++)encode_bit((x&(1<<i))!=0); } int d[1010],q[1010]; int st[1010],en[2000020],next[2000020]; bool check[1010]; void addedge(int s,int d,int c){next[c]=st[s],st[s]=c,en[c]=d;} void bfs(int x) { int *f,*r; f=r=q; *f++=x; check[x]=1; while(f!=r){ int t=*r++; for(int i=st[t];i!=-1;i=next[i]){ if(!check[en[i]])*f++=en[i],check[en[i]]=true,d[en[i]]=d[t]+1; } } } void encode(int nv, int nh, int ne, int *v1, int *v2){ int i,j; for(i=0;i<nv;i++)st[i]=-1; for(i=0;i<ne;i++)addedge(v1[i],v2[i],i<<1),addedge(v2[i],v1[i],i<<1|1); for(i=0;i<nh;i++){ bfs(i); for(j=0;j<nv;j++)encode_number(d[j]); for(j=0;j<nv;j++)check[j]=d[j]=0; } return; }
#include "grader.h" #include "decoder.h" //for 50point orz; void decode(int nv, int nh){ int i,j,k; for(i=0;i<nh;i++) for(j=0;j<nv;j++){ int c=0; for(k=0;k<10;k++)c+=(1<<k)*decode_bit(); hops(i,j,c); } }

Compilation message (stderr)

encoder.cpp: In function 'void encode(int, int, int, int*, int*)':
encoder.cpp:37:33: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   for(j=0;j<nv;j++)check[j]=d[j]=0;
                             ~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...