Submission #1103255

#TimeUsernameProblemLanguageResultExecution timeMemory
1103255Ahmed57Message (IOI24_message)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; void send_message(std::vector<bool> M, std::vector<bool> C){ vector<vector<bool>> v; for(int i = 0;i<64;i++){ v.push_back(vector<bool>(31,0)); } for(int i = 0;i<31;i++){ int la = -1; for(int j = 1;j<31;j++){ if(C[i]==C[(i+j)%31]){ la = j; break; } } for(int j = 0;j<la-1;j++){ v[j][i] = 0; } v[la-1][i] = 1; } int it = 0; for(int i = 0;i<31;i++){ int j = 0; while(v[j][i]==0){ j++; } j++; for(;j<64;j++){ if(it==M.size()){ v[j][i] = !M.back(); }else{ v[j][i] = M[it++]; } } } for(int i = 0;i<64;i++){ send_packet(v[i]); } } std::vector<bool> receive_message(std::vector<std::vector<bool>> R){ int nxt[31]; for(int i = 0;i<31;i++){ int j = 0; while(j<64&&R[i][j]==0)j++; j++; if(j<31){ nxt[i] = (i+j)%31; }else{ nxt[i] = -1; } } vector<int> ans; for(int i = 0;i<31;i++){ int x = i; vector<int> v = {i}; int sz = 1; while(nxt[x]!=i&&sz<40){ if(nxt[x]==-1){ sz = 40; } x = nxt[x]; v.push_back(x); sz++; } if(sz==16){ ans = v; } } sort(ans.begin(),ans.end()); vector<bool> M; for(auto i:ans){ int j = 0; while(R[j][i]==0)j++; j++; for(;j<64;j++){ M.push_back(R[j][i]); } } bool v = M.back(); while(M.back()==v)M.pop_back(); return M; }

Compilation message (stderr)

message.cpp: In function 'void send_message(std::vector<bool>, std::vector<bool>)':
message.cpp:29:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<bool>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |             if(it==M.size()){
      |                ~~^~~~~~~~~~
message.cpp:37:9: error: 'send_packet' was not declared in this scope
   37 |         send_packet(v[i]);
      |         ^~~~~~~~~~~