Submission #1297870

#TimeUsernameProblemLanguageResultExecution timeMemory
1297870gesp3011v2Message (IOI24_message)C++20
Compilation error
0 ms0 KiB
#include "message.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define F(i,l,r) for(int i=l,i_end=r;i<i_end;++i) #define FR(i,l,r) for(int i=l,i_end=r;i>=i_end;--i) #define pb push_back bool known[40]; void send_message(std::vector<bool> M, std::vector<bool> C){ F(i,0,C.size())C[i]=1-C[i]; F(i,0,31)known[i]=0; vector<bool> ones,zeroes; F(i,0,31)ones.pb(1); F(i,0,31)zeroes.pb(0); int some=0,j=-1; F(i,0,31){ if(some==0){ if(C[i]==0)send_packet(zeroes); else{ send_packet(ones); known[i]=1; some=1; } j=i; }else{ vector<bool> ans; int to_be_discovered=j+1; if(to_be_discovered>=31)break; vector<int> newfound; F(pos,0,31){ if(!known[pos])ans.pb(0); else{ if(to_be_discovered < 31){ ans.pb(C[to_be_discovered]); if(C[to_be_discovered] == 1)newfound.pb(to_be_discovered); }else ans.pb(0); to_be_discovered ++; j++; } } for(auto x:newfound) known[x]=1; send_packet(ans); } } vector<int> ours; F(i,0,31)if(known[i])ours.pb(i); int sz=M.size(); int step=0; vector<bool> szpacket; F(i,0,31){ if(known[i]==1){ if(sz&(1<<step))szpacket.pb(1); else szpacket.pb(0); step++; }else szpacket.pb(0); } send_packet(szpacket); int i=0; int s=M.size(); while(i<s){ vector<bool> packet; for (int j = 0; j < 31; ++ j) pack.pb(0); for (auto x:ous){ if(i >=s)break; aetx]= M[i]; i ++; send_packet(pac); } } int val[40] std::vecto<bool> receive_message(std::vector<std::vector<bool>>R{ int found = 0, pos = 0; F(i,0,31) val[i]=-1; int curr=0; while(pos<31){ if(!found){ int cnt0 = 0, cnt1 = 0; for (auto x: R[curr]){ if(x)cnt1 ++; else cnt0 ++; } if(cnt0 >= cnt1)val[pos]=0; else val[pos]=1; if(val[pos]==1)found=1; pos ++; }else{ vector<pair<int,int>> mp; F(i,0,31){ if(val[i]==1){ int x=R[curr][i]; mp.pb(make_pair(pos,x)); pos++; } } for(auto &[pp,vv]:mp)val[pp]=vv; } curr++; } int sz=0,id=0,step=1; for (auto x: R[curr]){ if(val[id]==1){ if(x)sz+=step; step<<=1; } id++; } curr++; int s=sz; vector<bool> ans; int mark=0; while(cu<R.size()){ F(i,0,31) if(val[i]==1)ans.pb(R[curr][i]); } curr++; } while(ans.size()>s)ans.pop_back(); retrn ans }

Compilation message (stderr)

message.cpp: In function 'void send_message(std::vector<bool>, std::vector<bool>)':
message.cpp:67:13: error: 'pack' was not declared in this scope; did you mean 'packet'?
   67 |             pack.pb(0);
      |             ^~~~
      |             packet
message.cpp:68:21: error: 'ous' was not declared in this scope; did you mean 'ours'?
   68 |         for (auto x:ous){
      |                     ^~~
      |                     ours
message.cpp:70:13: error: 'aetx' was not declared in this scope
   70 |             aetx]= M[i];
      |             ^~~~
message.cpp:73:21: error: 'pac' was not declared in this scope
   73 |         send_packet(pac);
      |                     ^~~
message.cpp:77:1: error: expected initializer before 'std'
   77 | std::vecto<bool> receive_message(std::vector<std::vector<bool>>R{
      | ^~~
message.cpp:124:11: error: 'ans' was not declared in this scope; did you mean 'abs'?
  124 |     while(ans.size()>s)ans.pop_back();
      |           ^~~
      |           abs
message.cpp:125:5: error: 'retrn' was not declared in this scope
  125 |     retrn ans
      |     ^~~~~