QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#844409 | #9237. Message | nodgd | Compile Error | / | / | C++14 | 2.0kb | 2025-01-05 21:15:16 | 2025-01-05 21:15:18 |
Judging History
answer
#include <vector>
#include <assert.h>
#include "message.h"
using namespace std;
vector<bool> send_packet(vector<bool> A);
void send_message(vector<bool> M, vector<bool> C) {
M.push_back(0);
M.resize(1025, 1);
int m = M.size();
int n = C.size();
assert(m == 1025);
assert(n == 31);
vector<int> f(n, 0);
for (int p = 0; p < n; p ++) {
if (!C[p]) {
int &d = f[p] = 1;
for (; C[(p + d) % n]; d ++);
}
}
int Q = 66;
vector<vector<bool>> A(Q, vector<bool>(n, 0));
for (int i = 0, j = 0; i < Q; i ++) {
for (int p = 0; p < n; p ++) {
if (!C[p]) {
if (i == f[p]) {
A[i][p] = 1;
} else if (i > f[p] && j < m) {
A[i][p] = M[j ++];
}
}
}
send_message(A[i]);
}
}
vector<bool> receive_message(vector<vector<bool>> R){
int Q = R.size(), n = R[0].size();
assert(Q == 66);
assert(n == 31);
vector<int> f(n, 0), v(n, 0), d(n, 0);
for (int p = 0; p < n; p ++) {
int &i = f[p] = 0;
for (; i < n && !R[i][p]; i ++);
f[p] = (p + i) % n;
}
for (int p = 0; p < n; p ++) {
int q = p, k = 1;
for (; !v[q]; q = f[q]) {
v[q] = 1, d[q] = k ++;
}
if (k - d[q] != 16) continue;
for (; v[q] == 1; q = f[q]) {
v[q] = 2;
}
break;
}
for (int p = 0; p < n; p ++) {
if (v[p] == 2) {
int &d = f[p] = 1;
for (; v[(p + d) % n] != 2; d ++);
}
}
vector<bool> M;
for (int i = 0, j = 0; i < Q; i ++) {
for (int p = 0; p < n; p ++) {
if (v[p] == 2 && i > f[p]) {
M[j ++] = R[i][p];
}
}
}
assert(M.size() == 1025);
for (int i = M.size() - 1; i >= 0; i --) {
if (!M[i]) {
M.resize(i - 1);
break;
}
}
return M;
}
Details
answer.code: In function ‘void send_message(std::vector<bool>, std::vector<bool>)’: answer.code:37:21: error: too few arguments to function ‘void send_message(std::vector<bool>, std::vector<bool>)’ 37 | send_message(A[i]); | ~~~~~~~~~~~~^~~~~~ answer.code:9:6: note: declared here 9 | void send_message(vector<bool> M, vector<bool> C) { | ^~~~~~~~~~~~ stub.cpp: In function ‘int {anonymous}::sz(const C&)’: stub.cpp:27:52: error: ‘size’ is not a member of ‘std’; did you mean ‘size_t’? 27 | template<class C> int sz(const C& c) { return std::size(c); } | ^~~~ | size_t stub.cpp: In function ‘void {anonymous}::write_int_array(const int*, int)’: stub.cpp:70:13: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’ 70 | if (int ret = fwrite(arr, sizeof(int), len, fout); len != ret) { | ^~~ stub.cpp: In function ‘void {anonymous}::read_int_array(int*, int)’: stub.cpp:105:13: warning: init-statement in selection statements only available with ‘-std=c++17’ or ‘-std=gnu++17’ 105 | if (int ret = fread(arr, sizeof(int), len, fin); len != ret) { | ^~~