# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
823828 | Amylopectin | Flight to the Ford (BOI22_communication) | C++17 | 804 ms | 1816 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"communication.h"
#include <stdio.h>
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int mxn = 510,lo = 30,see = 760;
int dran[mxn] = {};
void encode(int n, int x)
{
int i,j,cn,cm,fn,fm,cou = 0,cret,csta;
srand(see);
for(i=0; i<410; i++)
{
if(rand() %4 == 2)
{
dran[i] = 1;
}
else
{
dran[i] = 0;
}
}
for(i=0; i<lo; i++)
{
if((1<<i) & x)
{
cn = 1;
}
else
{
cn = 0;
}
// cm = (cn + dran[cou]) & 1;
cou ++;
cret = send(cn);
if(cret == cn)
{
csta = 0;
}
else
{
csta = 1;
}
while(1)
{
// cm = (cn + dran[cou]) & 1;
if(dran[cou] == 0)
{
cou ++;
cret = send(cn);
if(csta == 0)
{
if(cret == cn)
{
break;
}
}
csta = (csta + 1) & 1;
}
else
{
cou ++;
cm = (cret + 1) & 1;
cret = send(cm);
if(cret != cm)
{
break;
}
cou ++;
cret = send(cn);
if(cret == cn)
{
csta = 0;
}
else
{
csta = 1;
}
}
}
}
return ;
}
std::pair<int, int> decode(int n)
{
int i,j,m,cn,cm,fn,fm,cva = 0,be,cou = 0;
srand(see);
for(i=0; i<410; i++)
{
if(rand() %4 == 2)
{
dran[i] = 1;
}
else
{
dran[i] = 0;
}
}
for(i=0; i<lo; i++)
{
be = receive();
cou ++;
while(1)
{
cn = receive();
if(cn == be)
{
cva += (cn<<i);
cou ++;
break;
}
be = cn;
if(dran[cou] == 1)
{
be = receive();
cou ++;
}
cou ++;
}
}
return {cva,1};
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |