QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#819129 | #9237. Message | Flamire# | 40.381 | 232ms | 4108kb | C++17 | 2.1kb | 2024-12-18 12:55:15 | 2024-12-18 12:55:20 |
Judging History
answer
#include <bits/stdc++.h>
#include "message.h"
#define ppc __builtin_popcount
using namespace std;
int a[100011];unsigned long long seed=11101;
const int A=2147483647;
void send_message(vector<bool> M,vector<bool> C)
{
// printf("send_message():\n");
// printf("M:");for(bool x:M)printf("%d",x);putchar(10);
// printf("C:");for(bool x:C)printf("%d",x);putchar(10);
mt19937 rnd(seed);
int Sok=0,SC=0;
for(int i=0;i<31;++i)SC|=C[i]<<i;
while(Sok^SC)
{
// printf("Sok:%d SC:%d\n",Sok,SC);
unsigned x=rnd();
// printf("x:%u\n",x&A);
vector<bool> msg(C.size(),0);
for(int j=0;j<C.size();++j)if(!C[j])msg[j]=x>>j&1;
if(M.size()==1024)
{
for(int j=0;j<C.size();++j)if(!C[j])msg[j]=!msg[j];
}
vector<bool> tt=send_packet(msg);
for(int j=0;j<C.size();++j)if(C[j]&&tt[j]!=((x>>j&1)^(M.size()==1024)))Sok|=1<<j;
// printf("C:");for(int i=0;i<31;++i)printf("%d ",Sok>>i&1);putchar(10);
}
if(M.size()<1024)M.push_back(1);
while(M.size()<1024)M.push_back(0);
int S=M.size(),pt=0;
// printf("need %d\n",(S+15)/16);
for(int i=0;i<(S+15)/16;++i)
{
vector<bool> msg(C.size(),0);
for(int j=0;j<C.size();++j)if(!C[j])
{//printf("(%d,%d) pt:%d\n",i,j,pt+1);
if(pt<S)msg[j]=M[pt++];
}
send_packet(msg);
}
}
vector<bool> receive_message(vector<vector<bool>> R)
{
mt19937 rnd(seed);
int K=R.size()-64;
// printf("K:%d\n",K);
int SC=0,ex=0;
for(int i=0;i<K;++i)
{
unsigned x=rnd();
// printf("x:%u\n",x&A);
int S0=0,S1=0;
for(int _=0;_<31;++_)if(R[i][_]!=(x>>_&1))S0|=1<<_;else S1|=1<<_;
// printf("S0:%d(%d) S1:%d(%d)\n",S0,ppc(S0),S1,ppc(S1));
if(ppc(S0)>ppc(S1))swap(S0,S1),ex=1;
SC|=S0;
// printf("C:");for(int i=0;i<31;++i)printf("%d ",SC>>i&1);putchar(10);
}
// printf("C:");for(int i=0;i<31;++i)printf("%d ",SC>>i&1);putchar(10);
// printf("K:%d\n",K);
vector<bool> M;
for(int i=K;i<R.size();++i)
{
for(int _=0;_<R[i].size();++_)if(!(SC>>_&1))M.push_back(R[i][_]);
}
// for(bool x:M)printf("%d ",x);putchar(10);
if(!ex)
{
while(!M.back())M.pop_back();
M.pop_back();
}
// for(bool x:M)printf("%d ",x);putchar(10);
return M;
}
詳細信息
Subtask #1:
score: 4.633
Acceptable Answer
Test #1:
score: 5.404
Acceptable Answer
time: 191ms
memory: 3800kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5404
result:
points 0.5404
Test #2:
score: 4.633
Acceptable Answer
time: 217ms
memory: 3976kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #3:
score: 5.404
Acceptable Answer
time: 166ms
memory: 4092kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5404
result:
points 0.5404
Test #4:
score: 5.404
Acceptable Answer
time: 227ms
memory: 3828kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5404
result:
points 0.5404
Test #5:
score: 4.633
Acceptable Answer
time: 167ms
memory: 3976kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #6:
score: 4.633
Acceptable Answer
time: 95ms
memory: 4012kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #7:
score: 5.133
Acceptable Answer
time: 98ms
memory: 4108kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5133
result:
points 0.5133
Subtask #2:
score: 35.748
Acceptable Answer
Test #8:
score: 41.697
Acceptable Answer
time: 169ms
memory: 3744kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #9:
score: 53.883
Acceptable Answer
time: 206ms
memory: 3980kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5987
result:
points 0.5987
Test #10:
score: 41.697
Acceptable Answer
time: 200ms
memory: 3768kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #11:
score: 46.197
Acceptable Answer
time: 172ms
memory: 4084kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5133
result:
points 0.5133
Test #12:
score: 41.697
Acceptable Answer
time: 122ms
memory: 4024kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #13:
score: 41.697
Acceptable Answer
time: 129ms
memory: 3744kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #14:
score: 53.883
Acceptable Answer
time: 101ms
memory: 3824kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5987
result:
points 0.5987
Test #15:
score: 41.697
Acceptable Answer
time: 160ms
memory: 4088kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #16:
score: 41.697
Acceptable Answer
time: 188ms
memory: 3752kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #17:
score: 39.609
Acceptable Answer
time: 204ms
memory: 3772kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4401
result:
points 0.4401
Test #18:
score: 41.697
Acceptable Answer
time: 190ms
memory: 3744kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #19:
score: 43.893
Acceptable Answer
time: 165ms
memory: 3800kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4877
result:
points 0.4877
Test #20:
score: 35.748
Acceptable Answer
time: 195ms
memory: 3996kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.3972
result:
points 0.3972
Test #21:
score: 43.893
Acceptable Answer
time: 232ms
memory: 3820kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4877
result:
points 0.4877
Test #22:
score: 41.697
Acceptable Answer
time: 230ms
memory: 3824kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4633
result:
points 0.4633
Test #23:
score: 48.636
Acceptable Answer
time: 204ms
memory: 3692kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.5404
result:
points 0.5404
Test #24:
score: 39.609
Acceptable Answer
time: 198ms
memory: 4100kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4401
result:
points 0.4401
Test #25:
score: 39.609
Acceptable Answer
time: 186ms
memory: 3812kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4401
result:
points 0.4401
Test #26:
score: 43.893
Acceptable Answer
time: 155ms
memory: 3788kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4877
result:
points 0.4877
Test #27:
score: 43.893
Acceptable Answer
time: 191ms
memory: 3800kb
Manager to Aisha
Aisha to Manager
Manager to Basma
Basma to Manager
Manager to Checker
0.4877
result:
points 0.4877