Submission #599772

#TimeUsernameProblemLanguageResultExecution timeMemory
599772MounirFlight to the Ford (BOI22_communication)C++17
0 / 100
28 ms204 KiB
#include "communication.h" #include <bits/stdc++.h> #define all(v) v.begin(), v.end() #define chmax(x, v) x = max(x, v) #define chmin(x, v) x = min(x, v) #define pb push_back #define pii pair<int, int> #define sz(x) (int)x.size() #define x first #define y second using namespace std; void encode(int N, int X){ if (X == 1){ for (int i = 0; i < 6; ++i) int ans = send(i%2); } else if (X == 2){ for (int i = 0; i < 6; ++i) int ans = send(1 - i%2); } else { for (int i = 0; i < 6; ++i) int ans = send(i%3 == 0); } } vector<int> un = {0, 1, 0, 1, 0, 1}, deux = {1, 0, 1, 0, 1, 0}, trois = {1, 0, 0, 1, 0, 0}; pii decode(int N){ vector<int> vals; for (int i = 0; i < 6; ++i) vals.pb(receive()); for (int mask = 0; mask < (1 << 6); ++mask){ bool valid = true; vector<int> inds; for (int i = 0; i < 6; ++i){ if ((mask&(1 << i)) > 0) inds.pb(i); } for (int i = 0; i < sz(inds) - 1; ++i) valid &= (inds[i] != inds[i + 1] - 1); if (!valid) continue; vector<int> change = vals; for (int ind : inds) change[ind] ^= 1; if (change == un) return {1, 1}; if (change == deux) return {2, 2}; if (change == trois) return {3, 3}; } }

Compilation message (stderr)

communication.cpp: In function 'void encode(int, int)':
communication.cpp:16:23: warning: unused variable 'ans' [-Wunused-variable]
   16 |                   int ans = send(i%2);
      |                       ^~~
communication.cpp:20:23: warning: unused variable 'ans' [-Wunused-variable]
   20 |                   int ans = send(1 - i%2);
      |                       ^~~
communication.cpp:24:23: warning: unused variable 'ans' [-Wunused-variable]
   24 |                   int ans = send(i%3 == 0);
      |                       ^~~
communication.cpp: In function 'std::pair<int, int> decode(int)':
communication.cpp:31:19: warning: control reaches end of non-void function [-Wreturn-type]
   31 |       vector<int> vals;
      |                   ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...