Submission #351839

#TimeUsernameProblemLanguageResultExecution timeMemory
351839kylych03Parrots (IOI11_parrots)C++14
81 / 100
44 ms1536 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; } } //cout <<" encode " << xr <<endl; send(xr); send(xr); send(xr); send(xr); for(i = 0 ; i < N; i++) M[i]^=(xr); 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); } } } }
#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; i < L ; i++){ if(X[i] == t && cnt < 4){ f[i]=1; cnt++; } } break; } } for(i=0; i < L; i++){ if ( f[i]) continue; res[X[i]>>2]+=( 1<<((X[i]&3)*2)); //cout << " ok "<< endl; } //cout <<" decode " << xrr << " " << L<<endl; for(i=0; i<N; i++) { //cout << (res[i]^xrr) << endl; output(res[i]^xrr); } }

Compilation message (stderr)

encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:32:9: warning: 'xr' may be used uninitialized in this function [-Wmaybe-uninitialized]
   32 |     M[i]^=(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...