QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#819130#9237. MessageFlamire#44.486 225ms4068kbC++172.1kb2024-12-18 12:55:242024-12-18 12:55:29

Judging History

This is the latest submission verdict.

  • [2024-12-18 12:55:29]
  • Judged
  • Verdict: 44.486
  • Time: 225ms
  • Memory: 4068kb
  • [2024-12-18 12:55:24]
  • Submitted

answer

#include <bits/stdc++.h>
#include "message.h"
#define ppc __builtin_popcount
using namespace std;
int a[100011];unsigned long long seed=1000;
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: 163ms
memory: 4068kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #2:

score: 5.404
Acceptable Answer
time: 196ms
memory: 3792kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #3:

score: 5.404
Acceptable Answer
time: 191ms
memory: 3968kb

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.133
Acceptable Answer
time: 182ms
memory: 3744kb

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: 91ms
memory: 4004kb

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.133
Acceptable Answer
time: 75ms
memory: 3724kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #7:

score: 5.133
Acceptable Answer
time: 92ms
memory: 4000kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Subtask #2:

score: 39.609
Acceptable Answer

Test #8:

score: 48.636
Acceptable Answer
time: 173ms
memory: 4052kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #9:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #10:

score: 51.192
Acceptable Answer
time: 167ms
memory: 3696kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #11:

score: 41.697
Acceptable Answer
time: 151ms
memory: 3796kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #12:

score: 51.192
Acceptable Answer
time: 146ms
memory: 4052kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #13:

score: 48.636
Acceptable Answer
time: 160ms
memory: 3768kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #14:

score: 46.197
Acceptable Answer
time: 76ms
memory: 3948kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #15:

score: 39.609
Acceptable Answer
time: 157ms
memory: 3724kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4401

result:

points 0.4401

Test #16:

score: 43.893
Acceptable Answer
time: 91ms
memory: 3992kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #17:

score: 43.893
Acceptable Answer
time: 205ms
memory: 3784kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #18:

score: 43.893
Acceptable Answer
time: 139ms
memory: 3980kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #19:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #20:

score: 48.636
Acceptable Answer
time: 132ms
memory: 3784kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #21:

score: 43.893
Acceptable Answer
time: 183ms
memory: 3948kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #22:

score: 46.197
Acceptable Answer
time: 118ms
memory: 3800kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #23:

score: 46.197
Acceptable Answer
time: 186ms
memory: 3788kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #24:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #25:

score: 41.697
Acceptable Answer
time: 145ms
memory: 3944kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #26:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #27:

score: 46.197
Acceptable Answer
time: 185ms
memory: 3740kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133