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[])
{
for(int i=0; i<N; i++)
{
for (int j=0; j<4; j++)
{
bitset<8> b;
int tmp=16*i;
//b=tmp;
//cout<<b<<'\n';
tmp+=j*4;
//b=tmp;
//cout<<b<<'\n';
tmp+=(M[i]&((1<<(2*j))+(1<<(2*j+1))))>>(2*j);
//b=tmp;
//cout<<b<<'\n';
send(tmp);
}
}
}
#include "decoder.h"
#include "decoderlib.h"
#include <bits/stdc++.h>
using namespace std;
void decode(int N, int L, int X[])
{
vector<int> ans(N);
for (int i=0; i<L; i++)
{
int id=X[i]/16, k=(X[i]/4)%4;
//cout<<id<<' '<<k<<' '<<(X[i]/2)%2<<' '<<X[i]%2<<'\n';
ans[id]+=(X[i]%2)<<(2*k);
ans[id]+=((X[i]/2)%2)<<(2*k+1);
}
for (int i=0; i<N; i++) output(ans[i]);
}
/*
10
1 1 2 1 2 3 1 7 10 9
*/
# | 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... |