QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#819129#9237. MessageFlamire#40.381 232ms4108kbC++172.1kb2024-12-18 12:55:152024-12-18 12:55:20

Judging History

This is the latest submission verdict.

  • [2024-12-18 12:55:20]
  • Judged
  • Verdict: 40.381
  • Time: 232ms
  • Memory: 4108kb
  • [2024-12-18 12:55:15]
  • Submitted

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;
}

Details

Tip: Click on the bar to expand more detailed information

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