#include "encoder.h"
#include "encoderlib.h"
#include<iostream>
using namespace std;
void encode(int N, int M[]){
for(int i=0; i<N; i++){
int x = 0;
for (int j=0; j<8; j++){
if (M[i] & (1<<j)) x += j/4+1;
}
//cout << x << endl;
if (x > 8){
for (int j=0; j<4; j++) send(i*4);
}
for (int j=0; j<4; j++){
if (!(x > 8) != !(M[i] & (1<<j))) send(i*4+j);
}
for (int j=4; j<8; j++){
if (!(x > 8) != !(M[i] & (1<<j))){
send(i*4+j-4);
send(i*4+j-4);
}
}
}
}
#include "decoder.h"
#include "decoderlib.h"
#include<iostream>
using namespace std;
void decode(int N, int L, int X[]){
int m[N];
bool r[N];
for (int i=0; i<N; i++){
m[i] = 0;
r[i] = false;
}
for(int i=0; i<L; i++){
if ((m[X[i]/4] & (1<<(X[i] % 4))) && (m[X[i]/4] & (1<<((X[i] % 4) + 4)))){
r[X[i]/4] = true;
m[X[i]/4] ^= (1<<(X[i] % 4));
m[X[i]/4] ^= (1<<((X[i] % 4) + 4));
}
else if (m[X[i]/4] & (1<<(X[i] % 4))){
m[X[i]/4] ^= (1<<(X[i] % 4));
m[X[i]/4] |= (1<<((X[i] % 4) + 4));
}
else m[X[i]/4] |= (1<<(X[i] % 4));
}
for (int i=0; i<N; i++){
/*if (!r[i]) cout << m[i] << endl;
else cout << 255-m[i] << endl;*/
if (r[i]) output(255-m[i]);
else output(m[i]);
}
}
# | 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... |