제출 #351975

#제출 시각아이디문제언어결과실행 시간메모리
351975juggernaut앵무새 (IOI11_parrots)C++14
99 / 100
48 ms1696 KiB
#include"encoder.h" #include"encoderlib.h" #include<bits/stdc++.h> using namespace std; void encode(int n,int a[]){ vector<int>best(n*15,0); int sig; for(int xr=0;xr<256;xr++){ vector<int>vec; for(int i=0;i<n;i++){ int x=a[i]^xr; while(x>63)vec.push_back((i<<2)|3),x-=64; while(x>15)vec.push_back((i<<2)|2),x-=16; while(x>3)vec.push_back((i<<2)|1),x-=4; while(x>0)vec.push_back((i<<2)|0),x-=1; } if(vec.size()<best.size())best=vec,sig=xr; } for(auto to:best)send(to); for(int i=0;i<5;i++)send(sig); }
#include"decoder.h" #include"decoderlib.h" #include<bits/stdc++.h> using namespace std; int res[64],counter[256]; void decode(int n,int m,int a[]){ for(int i=0;i<n;i++)res[i]=0; for(int i=0;i<256;i++)counter[i]=0; int mx=0,val; for(int i=0;i<m;i++) counter[a[i]]++; for(int i=0;i<256;i++)if(counter[i]>mx)mx=counter[i],val=i; mx=0; for(int i=0;i<m;i++){ if(a[i]==val&&mx!=5){ mx++; continue; } int data=a[i]&3; if(data==0)res[a[i]>>2]+=1; if(data==1)res[a[i]>>2]+=4; if(data==2)res[a[i]>>2]+=16; if(data==3)res[a[i]>>2]+=64; } for(int i=0;i<n;i++)output(res[i]^val); }

컴파일 시 표준 에러 (stderr) 메시지

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:20:29: warning: 'sig' may be used uninitialized in this function [-Wmaybe-uninitialized]
   20 |     for(int i=0;i<5;i++)send(sig);
      |                         ~~~~^~~~~

decoder.cpp: In function 'void decode(int, int, int*)':
decoder.cpp:25:31: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
   25 |     for(int i=0;i<n;i++)output(res[i]^val);
      |                         ~~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...