Submission #600873

#TimeUsernameProblemLanguageResultExecution timeMemory
600873alextodoranFlight to the Ford (BOI22_communication)C++17
0 / 100
606 ms1660 KiB
/**
 ____ ____ ____ ____ ____
||a |||t |||o |||d |||o ||
||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|

**/

#include <bits/stdc++.h>
#include "communication.h"

using namespace std;

typedef long long ll;

int send (int s);
void encode (int N, int X) {
    while (N > 0) {
        if (send(1) == 0) {
            send(X % 2);
            N /= 2;
            X /= 2;
        }
    }
}

int receive ();
pair <int, int> decode (int N) {
    int X = 0;
    int bit = 0;
    while (N > 0) {
        if (receive() == 0) {
            X += (receive() << bit);
            N /= 2;
            bit++;
        }
    }
    return make_pair(X, X);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...