QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#885127 | #9237. Message | ASnown | 10 | 110ms | 3840kb | C++20 | 1.8kb | 2025-02-06 14:01:52 | 2025-02-06 14:01:52 |
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(892348892);
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 i=0;i<=30;i++) {
vector<bool> A(31,C[i]);
send_packet(A);
}
// 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(892348892);
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]);
for(int i=0;i<=30;i++) {
int cnt[2]{};
auto A=get_packet();
for(int j=0;j<=30;j++) ++cnt[A[j]];
C[i]=(cnt[0]<cnt[1]);
}
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;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 107ms
memory: 3712kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #2:
score: 10
Accepted
time: 110ms
memory: 3712kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #3:
score: 10
Accepted
time: 107ms
memory: 3840kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #4:
score: 10
Accepted
time: 109ms
memory: 3840kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #5:
score: 10
Accepted
time: 58ms
memory: 3712kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #6:
score: 10
Accepted
time: 53ms
memory: 3840kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Test #7:
score: 10
Accepted
time: 54ms
memory: 3712kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
1
result:
points 1.0
Subtask #2:
score: 0
Instance #0 Time Limit Exceeded
Test #8:
score: 0
Instance #0 Time Limit Exceeded
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