Submission #666370

#TimeUsernameProblemLanguageResultExecution timeMemory
666370mychecksedadFlight to the Ford (BOI22_communication)C++17
0 / 100
19 ms200 KiB
#include <utility> #include <bits/stdc++.h> using namespace std; /** * use this function in encode when you want to send a certain signal * (it might come out wrong, and the return value tells you which signal * was actually sent) */ int send(int); /** * use this function in decode; it returns the next signal that was actually * sent during the corresponding call of encode */ int receive(); /** * implement these two functions yourself */ void encode(int N, int X){ for(int j = 0; j < 2; ++j){ bool val = (1<<j)&X; send(val); send(val); } } pair<int, int> decode(int N) { int a = 0, b = 0; int x[4]; for(int j = 0; j < 4; ++j) x[j] = receive(); if(x[0] == x[1]){ a += 1; b += 1; }else if(x[0] != x[1]){ a += 1; } if(x[2] == x[3]){ a += 2; b += 2; }else if(x[2] != x[3]){ b += 2; } if(x[0] != x[1] && x[2] != x[3]) a = b = 3; return {a, b}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...