QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#819122#9237. MessageFlamire#38.599 280ms4104kbC++172.1kb2024-12-18 12:52:172024-12-18 12:52:19

Judging History

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

  • [2024-12-18 12:52:19]
  • 评测
  • 测评结果:38.599
  • 用时:280ms
  • 内存:4104kb
  • [2024-12-18 12:52:17]
  • 提交

answer

#include <bits/stdc++.h>
#include "message.h"
#define ppc __builtin_popcount
using namespace std;
int a[100011];unsigned long long seed=11111;
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.133
Acceptable Answer
time: 198ms
memory: 3816kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #2:

score: 5.133
Acceptable Answer
time: 183ms
memory: 3980kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #3:

score: 4.633
Acceptable Answer
time: 186ms
memory: 4084kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #4:

score: 5.404
Acceptable Answer
time: 177ms
memory: 3788kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #5:

score: 5.688
Acceptable Answer
time: 178ms
memory: 3816kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #6:

score: 5.688
Acceptable Answer
time: 127ms
memory: 3728kb

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.404
Acceptable Answer
time: 121ms
memory: 3812kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Subtask #2:

score: 33.966
Acceptable Answer

Test #8:

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

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #9:

score: 35.748
Acceptable Answer
time: 222ms
memory: 3992kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.3972

result:

points 0.3972

Test #10:

score: 46.197
Acceptable Answer
time: 190ms
memory: 3820kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #11:

score: 51.192
Acceptable Answer
time: 249ms
memory: 3804kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #12:

score: 43.893
Acceptable Answer
time: 173ms
memory: 3768kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #13:

score: 51.192
Acceptable Answer
time: 126ms
memory: 3780kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #14:

score: 48.636
Acceptable Answer
time: 54ms
memory: 4024kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #15:

score: 51.192
Acceptable Answer
time: 118ms
memory: 4012kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5688

result:

points 0.5688

Test #16:

score: 46.197
Acceptable Answer
time: 113ms
memory: 4100kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #17:

score: 41.697
Acceptable Answer
time: 184ms
memory: 3976kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633

Test #18:

score: 48.636
Acceptable Answer
time: 280ms
memory: 4024kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #19:

score: 46.197
Acceptable Answer
time: 175ms
memory: 3772kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5133

result:

points 0.5133

Test #20:

score: 33.966
Acceptable Answer
time: 174ms
memory: 3812kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.3774

result:

points 0.3774

Test #21:

score: 46.197
Acceptable Answer
time: 156ms
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: 188ms
memory: 3740kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #23:

score: 48.636
Acceptable Answer
time: 184ms
memory: 4084kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.5404

result:

points 0.5404

Test #24:

score: 43.893
Acceptable Answer
time: 124ms
memory: 3832kb

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: 143ms
memory: 3824kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4877

result:

points 0.4877

Test #26:

score: 37.629
Acceptable Answer
time: 235ms
memory: 4104kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4181

result:

points 0.4181

Test #27:

score: 41.697
Acceptable Answer
time: 203ms
memory: 3828kb

Manager to Aisha


Aisha to Manager


Manager to Basma


Basma to Manager


Manager to Checker

0.4633

result:

points 0.4633