QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#885319 | #9237. Message | ASnown | 0 | 0ms | 0kb | C++20 | 1.5kb | 2025-02-06 15:15:04 | 2025-02-06 15:15:14 |
Judging History
answer
#include<bits/stdc++.h>
#include "message.h"
using namespace std;
const int pL=16;
void send_message(vector<bool> M, vector<bool> C) {
mt19937 rnd(1);
vector<bitset<pL>> pri(31);
for(int i=0;i<=30;i++) pri[i]=rnd();
vector<int> pos;
for(int i=0;i<=30;i++) if(!C[i]) pos.emplace_back(i);
assert(pos.size()==16);
for(int l=0;l<pL;l++) {
vector<bool> A(31);
for(int i=0;i<=30;i++) A[i]=pri[i][l];
send_packet(A);
}
int S=M.size();
bitset<16> bS=S;
vector<bool> A(31);
for(int i=0;i<16;i++) A[pos[i]]=bS[i];
send_packet(A);
M.resize(S+15);
for(int i=0;i<S;i+=16) {
for(int j=0;j<16;j++) A[pos[j]]=M[i+j];
send_packet(A);
}
}
vector<bool> receive_message(vector<vector<bool>> R) {
auto get_packet_it=R.begin();
auto get_packet = [&]() {
assert(get_packet_it!=R.end());
return *(get_packet_it++);
};
mt19937 rnd(1);
vector<bitset<pL>> pri(31);
for(int i=0;i<=30;i++) pri[i]=rnd();
vector<bool> C(31);
vector<bitset<pL>> get(31);
for(int l=0;l<pL;l++) {
vector<bool> A=get_packet();
for(int i=0;i<=30;i++) get[i][l]=A[i];
}
for(int i=0;i<=30;i++) C[i]=!(get[i]==pri[i]);
vector<int> pos;
for(int i=0;i<=30;i++) if(!C[i]) pos.emplace_back(i);
assert(pos.size()==16);
int S=0;
auto A=get_packet();
for(int i=0;i<16;i++) S|=A[pos[i]]<<i;
vector<bool> M;
while(M.size()<S) {
auto A=get_packet();
for(int i=0;i<16;i++) M.emplace_back(A[pos[i]]);
} M.resize(S);
return M;
}
詳細信息
Subtask #1:
score: 0
Instance #1 Runtime Error
Test #1:
score: 0
Instance #1 Runtime Error
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0 ing with message 'manual RTE, cant read int from grader' Quitting with result code 1
result:
Subtask #2:
score: 0
Instance #1 Runtime Error
Test #8:
score: 0
Instance #1 Runtime Error
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0 ing with message 'manual RTE, cant read int from grader' Quitting with result code 1