#include "encoder.h"
#include "encoderlib.h"
#include <bits/stdc++.h>
using namespace std;
int ativo(int x, int p){
if(x & (1<<p))return 1;
return 0;
}
void encode(int n, int m[])
{
for(int p = 0; p < 8; p++){
int g = 0;
for(int i = 0; i < n; i+=2){
int x = (ativo(m[i], p)<<1);
if(i+1 < n)x += ativo(m[i+1], p);
int v = (p<<5) + g;
for(int j = 0; j < x; j++)send(v);
g++;
}
}
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;
static int v[70];
static map<int,int> freq;
void decode(int n, int l, int x[])
{
for(int i = 0; i < n; i++)v[i] = 0;
freq.clear();
for(int i = 0; i < l; i++)freq[x[i]]++;
for(int i = 0; i < l; i++){
if(freq[x[i]] == 0)continue;
int f = freq[x[i]]; freq[x[i]] = 0;
int g = x[i]%32; x[i]/=32;
int p = x[i];
if(f & 2)v[g*2] += (1<<p);
if(f & 1)v[g*2+1] += (1<<p);
}
for(int i = 0; i < n; i++)output(v[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... |