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 "grader.h"
#include "encoder.h"
#include <bits/stdc++.h>
using namespace std;
void send(int x)
{
for (int i=0; i<10; i++) encode_bit((x&(1<<i)?1:0));
}
void encode(int nv, int nh, int ne, int *v1, int *v2){
vector<int> d[nv];
for (int i=0; i<ne; i++) d[v1[i]].push_back(v2[i]), d[v2[i]].push_back(v1[i]);
for (int i=0; i<nh; i++)
{
vector<int> vs(nv), res(nv);
queue<int> q;
vs[i]=1;
q.push(i);
while (!q.empty())
{
int u=q.front();
q.pop();
for (auto v:d[u]) if (!vs[v]) res[v]=res[u]+1, vs[v]=1, q.push(v);
}
for (int j=0; j<nv; j++) send(res[j]);
}
}
#include "grader.h"
#include "decoder.h"
#include <bits/stdc++.h>
using namespace std;
void decode(int nv, int nh) {
for (int i=0; i<nh; i++)
{
for (int j=0; j<nv; j++)
{
int res=0;
for (int k=0; k<10; k++) if (decode_bit()) res|=(1<<k);
hops(i, j, res);
}
}
}
# | 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... |