QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#567030 | #9237. Message | aaaaa | Compile Error | / | / | C++14 | 2.2kb | 2024-09-16 05:26:02 | 2024-09-16 05:26:02 |
Judging History
answer
#include <bits/stdc++.h>
#include "message.h"
using namespace std;
typedef long long ll;
vector<bool> info[67];
ll nxt[31];
bool bb[31];
void send_message(vector<bool> M, vector<bool> C) {
M.push_back(true);
while (M.size() < 1024) {
M.push_back(false);
}
for (ll i=1; i<67; i++) {
info[i].resize(31);
}
ll prev, k=0;
for (ll i=0; i<C.size(); i++) {
if (!C[i]) {
prev = i-31;
}
}
for (ll i=0; i<C.size(); i++) {
if (!C[i]) {
ll distance = i-prev;
for (ll j=1; j<distance; j++) {
info[j][i] = 1;
}
for (ll j=distance+1; j<67; j++) {
info[j][i] = M[k++];
}
prev = i;
}
}
for (ll i=1; i<67; i++) {
send_packet(info[i]);
}
}
vector<bool> receive_message(vector<vector<bool>> R) {
for (ll i=1; i<67; i++) {
info[i] = R[i-1];
}
for (ll i=0; i<31; i++) {
ll current = 1;
while (current < 67 && info[current][i]) {
++current;
}
nxt[i] = (i+31-current%31)%31;
}
for (ll i=0; i<31; i++) {
ll cycle = i;
ll flag = 0;
for (ll j=1; j<17; j++) {
cycle = nxt[cycle];
if (cycle == i) {
if (j == 16) {
flag = 1;
}
else {
flag = -1;
break;
}
}
}
if (flag == 1) {
cycle = i;
for (ll j=1; j<17; j++) {
cycle = nxt[cycle];
bb[cycle] = 1;
}
break;
}
}
vector<bool> answer;
answer.clear();
for (ll i=0; i<31; i++) {
if (bb[i]) {
ll current = 1;
while (current < 67 && info[current][i]) {
++current;
}
for (ll j=current+1; j<67; j++) {
answer.push_back(info[j][i]);
}
}
}
while (!answer.back()) {
answer.pop_back();
}
answer.pop_back();
return answer;
}
Details
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) { | ^~~