QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#819128#9237. MessageFlamire#38.843 248ms4076kbC++172.1kb2024-12-18 12:55:052024-12-18 12:55:05

Judging History

你现在查看的是最新测评结果

  • [2024-12-18 12:55:05]
  • 评测
  • 测评结果:38.843
  • 用时:248ms
  • 内存:4076kb
  • [2024-12-18 12:55:05]
  • 提交

answer

#include <bits/stdc++.h>
#include "message.h"
#define ppc __builtin_popcount
using namespace std;
int a[100011];unsigned long long seed=10111;
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;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 4.877
Acceptable Answer

Test #1:

score: 4.877
Acceptable Answer
time: 206ms
memory: 3940kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #2:

score: 4.877
Acceptable Answer
time: 164ms
memory: 4064kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #3:

score: 4.877
Acceptable Answer
time: 195ms
memory: 3924kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #4:

score: 5.133
Acceptable Answer
time: 201ms
memory: 3804kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #5:

score: 5.987
Acceptable Answer
time: 150ms
memory: 3792kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5987

result:

points 0.5987

Test #6:

score: 5.688
Acceptable Answer
time: 77ms
memory: 3680kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #7:

score: 5.133
Acceptable Answer
time: 105ms
memory: 3736kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Subtask #2:

score: 33.966
Acceptable Answer

Test #8:

score: 46.197
Acceptable Answer
time: 189ms
memory: 3956kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #9:

score: 39.609
Acceptable Answer
time: 248ms
memory: 3936kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4401

result:

points 0.4401

Test #10:

score: 37.629
Acceptable Answer
time: 187ms
memory: 4016kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4181

result:

points 0.4181

Test #11:

score: 41.697
Acceptable Answer
time: 142ms
memory: 3968kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #12:

score: 46.197
Acceptable Answer
time: 192ms
memory: 3780kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #13:

score: 48.636
Acceptable Answer
time: 99ms
memory: 4056kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #14:

score: 48.636
Acceptable Answer
time: 85ms
memory: 3952kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #15:

score: 33.966
Acceptable Answer
time: 109ms
memory: 4056kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.3774

result:

points 0.3774

Test #16:

score: 41.697
Acceptable Answer
time: 147ms
memory: 4064kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #17:

score: 43.893
Acceptable Answer
time: 167ms
memory: 4012kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #18:

score: 41.697
Acceptable Answer
time: 160ms
memory: 3776kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #19:

score: 41.697
Acceptable Answer
time: 179ms
memory: 4056kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #20:

score: 43.893
Acceptable Answer
time: 172ms
memory: 3812kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #21:

score: 46.197
Acceptable Answer
time: 164ms
memory: 3808kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #22:

score: 43.893
Acceptable Answer
time: 118ms
memory: 3816kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #23:

score: 41.697
Acceptable Answer
time: 171ms
memory: 4076kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #24:

score: 43.893
Acceptable Answer
time: 167ms
memory: 3924kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #25:

score: 43.893
Acceptable Answer
time: 141ms
memory: 3936kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #26:

score: 46.197
Acceptable Answer
time: 146ms
memory: 3812kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #27:

score: 51.192
Acceptable Answer
time: 142ms
memory: 3756kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688