Submission #592616

#TimeUsernameProblemLanguageResultExecution timeMemory
592616errorgornFlight to the Ford (BOI22_communication)C++17
0 / 100
48 ms220 KiB
#include"communication.h" #include <bits/stdc++.h> using namespace std; #define int long long #define ii pair<int,int> #define fi first #define se second #define endl '\n' #define puf push_front #define pof pop_front #define pub push_back #define pob pop_back #define lb lower_bound #define ub upper_bound #define rep(x,s,e) for (int x=(s)-((s)>(e));x!=(e)-((s)>(e));((s)<(e))?x++:x--) #define all(x) (x).begin(),(x).end() #define sz(x) (int) (x).size() mt19937 rng(chrono::system_clock::now().time_since_epoch().count()); void encode(signed N, signed X) { int t; X--; if (X==0){ send(1); send(1); send(0); } else if (X==1){ t=send(0); if (t==1) send(1); t=send(0); if (t==1) send(1); send(1); send(1); send(0); } else{ t=send(0); if (t==1) send(0); t=send(0); if (t==1) send(0); t=send(0); if (t==1) send(0); t=send(0); if (t==1) send(0); send(1); send(1); send(0); } } std::pair<signed, signed> decode(signed N) { int t; int curr=0; while (true){ t=receive(); if (t==0) curr++; else break; } curr=(curr/3+receive())%3; //cout<<"debug: "<<curr<<endl; //cout<<(curr+1)%3+1<<" "<<(curr+2)%3+1<<endl; return {(curr+1)%3+1,(curr+2)%3+1}; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...