Submission #584003

#TimeUsernameProblemLanguageResultExecution timeMemory
584003cheissmartFlight to the Ford (BOI22_communication)C++17
0 / 100
4 ms348 KiB
#include"communication.h" #include <bits/stdc++.h> #define IO_OP ios::sync_with_stdio(0), cin.tie(0) #define F first #define S second #define V vector #define PB push_back #define EB emplace_back #define MP make_pair #define SZ(v) int((v).size()) #define ALL(v) (v).begin(), (v).end() using namespace std; typedef long long ll; typedef pair<int, int> pi; typedef V<int> vi; const int INF = 1e9 + 7; int aux[] = {0b0000, 0b1001, 0b0110}; void encode(int n, int x) { for(int i = 0; i < 4; i++) send(aux[x - 1] >> i & 1); } pi decode(int n) { int x = 0; for(int i = 0; i < 4; i++) x |= receive() << i; vi ans; for(int i = 0; i < 4; i++) { int y = x ^ (1 << i); for(int k = 0; k < 3; k++) if(y == aux[k]) ans.PB(k + 1); for(int j = 0; j < i - 1; j++) { int z = y ^ (1 << j); for(int k = 0; k < 3; k++) if(z == aux[k]) ans.PB(k + 1); } } while(SZ(ans) < 2) ans.PB(1); return {ans[0], ans[1]}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...