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 <bits/stdc++.h>
#include "encoder.h"
#include "encoderlib.h"
using namespace std;
long long mapa2[92400];
int broj = 0;
map<long long ,int> mapa;
void rec(int posledno, int n, long long s,int depth){
if(depth==n)
{
mapa[s]=broj;
// mapa2[broj]=s;
//cout<<s<<" "<<broj<<endl;
broj++;
return;
}
for(long long i =posledno;i<n;i++)
{
rec(i,n,s*10LL+i,depth+1);
}
}
void rec2(int posledno, int n, long long s,int depth){
if(depth==n)
{
//mapa[s]=broj;
mapa2[broj]=s;
//cout<<s<<" "<<broj<<endl;
broj++;
return;
}
for(long long i =posledno;i<n;i++)
{
rec2(i,n,s*10LL+i,depth+1);
}
}
void encode(int n, int a[])
{
broj = 0;
rec(0,10,0,0);
for(int i =0;i<n;i++)
{
int k;
k = 0;
int tosend = 0;
int x = i;
for (int j=0;j<5;j++)
{
if ((i & (1<<j))>0)
{
tosend+=1<<k;
}
k+=1;
}
tosend<<=3;
for (int j=0;j<8;j++)
{
if ( (a[i] & (1<<j))>0)
{
send(tosend+j);
}
}
}
}
#include <bits/stdc++.h>
#include "decoder.h"
#include "decoderlib.h"
using namespace std;
long long mapa2[92400];
int broj = 0;
map<long long ,int> mapa;
void rec(int posledno, int n, long long s,int depth){
if(depth==n)
{
mapa[s]=broj;
// mapa2[broj]=s;
//cout<<s<<" "<<broj<<endl;
broj++;
return;
}
for(long long i =posledno;i<n;i++)
{
rec(i,n,s*10LL+i,depth+1);
}
}
void rec2(int posledno, int n, long long s,int depth){
if(depth==n)
{
//mapa[s]=broj;
mapa2[broj]=s;
//cout<<s<<" "<<broj<<endl;
broj++;
return;
}
for(long long i =posledno;i<n;i++)
{
rec2(i,n,s*10LL+i,depth+1);
}
}
void decode(int n,int howmany2,int a[]){
broj = 0;
rec(0,10,0,0);
int to_be_output[321];
for (int i =0;i<n;i++)
to_be_output[i]=0;
for(int i = 0;i<howmany2;i++)
{
int value = 0;
int k = 0;
for (int j = 0;j<3;j++)
{
if (a[i] %2==1)
value+=1<<k;
k+=1;
a[i]=a[i]/2;
}
value = 1<<value;
int position=0;
k = 0;
for (int j = 0;j<5;j++)
{
if (a[i] %2==1)
position+=1<<k;
k+=1;
a[i]=a[i]/2;
}
to_be_output[position]+=value;
}
for(int i =0;i<n;i++)
output(to_be_output[i]);
}
Compilation message (stderr)
encoder.cpp: In function 'void encode(int, int*)':
encoder.cpp:58:13: warning: unused variable 'x' [-Wunused-variable]
58 | int x = 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... |