QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#885493 | #9237. Message | ASnown | 10 | 117ms | 3840kb | C++20 | 1.8kb | 2025-02-06 15:56:55 | 2025-02-06 15:57:01 |
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]]=(i+j<S?M[i+j]:0);
send_packet(A);
}
}
vector<bool> receive_message(vector<vector<bool>> R) {
int get_packet_pos=0;
auto get_packet = [&]() {
assert(get_packet_pos!=R.size());
return R[get_packet_pos++];
};
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(S);
for(int i=0;i<S;i+=16) {
auto A=get_packet();
for(int j=0;j<16;j++) if(i+j<S) M[i+j]=A[pos[j]];
}
return M;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 111ms
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: 99ms
memory: 3840kb
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: 117ms
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: 95ms
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: 70ms
memory: 3840kb
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: 77ms
memory: 3712kb
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: 59ms
memory: 3840kb
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