# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
351984 | kylych03 | Parrots (IOI11_parrots) | C++14 | 47 ms | 1676 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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;
}
}
send(xr);
send(xr);
send(xr);
send(xr);
for(i = 0 ; i < N; i++)
M[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);
}
}
}
//cout << endl<<" encoder - "<<xr << endl;
for(i = 0 ; i < N; i++)
M[i]=( M[i] ^ xr);
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;
int res[256], f[256], cnt[256];
void decode(int N, int L, int X[])
{
int i, xrr;
for(i=0; i<256; i++){
cnt[i]=0;
res[i]=0;
f[i]=0;
}
for(int i = 0; i < L; i++){
cnt[X[i]]++;
}
for(i=0; i<256; i++){
if(cnt[i] > 3){
xrr = i;
cnt[i] -= 4;
break;
}
}
for(i=0; i < L; i++){
if(!cnt[X[i]]) continue;
cnt[X[i]]--;
res[X[i]>>2]+=( 1<<((X[i]&3)*2));
}
for(i=0; i<N; i++)
res[i]^=xrr;
for(i=0; i<N; i++) {
//cout << (res[i] ) << " ";
output(res[i] );
}
}
/*
50
171 119 223 130 116 138 204 99 236 198 56 135 116 106 66 64 204 242 114 11 194 251 213 251 67 145 200 57 90 108 90 61 86 69 158 229 11 141 37 7 248 77 5 85 144 17 53 159 54 7
*/
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |