Submission #351809

#TimeUsernameProblemLanguageResultExecution timeMemory
351809kylych03Parrots (IOI11_parrots)C++14
81 / 100
43 ms1576 KiB
#include "encoder.h" #include "encoderlib.h" #include <bits/stdc++.h> using namespace std; void encode(int N, int M[]) { int i, xr, rs = 1e9; for(int t = 0 ; t < 256; t++){ int cnt = 0; for(i = 0 ; i < N; i++){ int f = (M[i] ^ t); for(int j= 0 ; j < 8 ;j++){ if(( f>>j )& 1){ if(j%2==1) cnt++; cnt++; } } } if(cnt < rs){ rs = cnt; xr = t; } } if(N <=32) xr =0; else{ send(xr); send(xr); send(xr); send(xr); } for(i = 0 ; i < N; i++) M[i]^=(xr); if(N > 32){ for(i=0; i<N; i++){ int packet=(i<<2); for(int j= 0 ; j < 8 ;j++){ if(( M[i]>>j )&1){ if(j%2==1) send(packet+j/2); send(packet+j/2); } } } } else for(i=0; i<N; i++){ int packet=(i<<3); for(int j= 0 ; j < 8 ;j++){ if(( M[i]>>j )&1){ send(packet+j); } } } }
#include "decoder.h" #include "decoderlib.h" #include <bits/stdc++.h> using namespace std; int res[256], f[256]; void decode(int N, int L, int X[]) { int i, xrr; for(i=0; i<256; i++){ res[i]=0; f[i]=0; } for(int t = 0 ; t < 256; t++){ int cnt = 0 ; for(i=0; i < L; i++){ if(X[i] == t) cnt++; } if (cnt >=4){ xrr = t , cnt =0; for(i=0; cnt < 4; i++){ if(X[i] == t){ f[i]=1; cnt++; } } break; } } for(i=0; i < L; i++){ if ( f[i]) continue; if(N > 32) res[X[i]>>2]+=( 1<<((X[i]&3)*2)); else res[X[i]>>3]|=( 1<<(X[i]&7)); } if(N <= 32) xrr = 0 ; for(i=0; i<N; i++) { output(res[i]^xrr); } }

Compilation message (stderr)

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:31:7: warning: 'xr' may be used uninitialized in this function [-Wmaybe-uninitialized]
   31 |   send(xr);
      |   ~~~~^~~~

decoder.cpp: In function 'void decode(int, int, int*)':
decoder.cpp:45:12: warning: 'xrr' may be used uninitialized in this function [-Wmaybe-uninitialized]
   45 |      output(res[i]^xrr);
      |      ~~~~~~^~~~~~~~~~~~
#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...