Submission #598671

#TimeUsernameProblemLanguageResultExecution timeMemory
598671someoneFlight to the Ford (BOI22_communication)C++17
15 / 100
47 ms1844 KiB
#include <bits/stdc++.h>
//#define int long long
#include "communication.h"
using namespace std;

void encode(int n, int x) {
    int t = 0;
    if(x != 1)
        t = x * 3;
    for(int i = 0; i < 4; i++) {
        send(t & 1);
        t >>= 1;
    }
}

pair<int, int> decode(int n) {
    int t = 0;
    for(int i = 0; i < 4; i++)
        t += receive() * (1 << i);
    set<int> v;
    int pos[] = {0, 1, 2, 4, 5, 8, 9, 10};
    for(int i : pos)
        v.insert(i);
    if(v.count(t) == 0)
        return {2, 3};
    if(v.count(t ^ 6) == 0)
        return {1, 3};
    return {1, 2};
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...